PHP实现的策略模式简单示例

2025-05-29 0 84

本文实例讲述了PHP实现的策略模式。分享给大家供大家参考,具体如下:

比如说购物车系统,在给商品计算总价的时候,普通会员肯定是商品单价乘以数量,但是对中级会员提供8者折扣,对高级会员提供7折折扣,这种场景就可以使用策略模式实现:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54
<?php

/**

* 策略模式实例

*

*/

//抽象策略角色《为接口或者抽象类,给具体策略类继承》

interface Strategy

{

public function computePrice($price);

}

//具体策略角色-普通会员策略类

class GenernalMember implements Strategy

{

public function computePrice($price)

{

return $price;

}

}

//具体策略角色-中级会员策略类

class MiddleMember implements Strategy

{

public function computePrice($price)

{

return $price * 0.8;

}

}

//具体策略角色-高级会员策略类

class HignMember implements Strategy

{

public function computePrice($price)

{

return $price * 0.7;

}

}

//环境角色实现类

class Price

{

//具体策略对象

private $strategyInstance;

//构造函数

public function __construct($instance)

{

$this->strategyInstance = $instance;

}

public function compute($price)

{

return $this->strategyInstance->computePrice($price);

}

}

//客户端使用

$p = new Price(new HignMember());

$totalPrice = $p->compute(100);

echo $totalPrice; //70

?>

希望本文所述对大家PHP程序设计有所帮助。

原文链接:http://www.cnblogs.com/LoveJulin/p/5139421.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP实现的策略模式简单示例 https://www.kuaiidc.com/94258.html

相关文章

发表评论
暂无评论