策略模式总结

来源:互联网 发布:淘宝差评处理技巧 编辑:程序博客网 时间:2024/04/28 07:49

个人理解,策略模式就是对待同一个事件,所有不同的方案

你丢了自行车,如果你是中国人,你基本就告别自行车了,

如果你是外国人,车子很快就能找到,而且还有有关部门的人给你赔礼道歉

同一件事对待不同人的不同表现着就是一种策略


<?php/*********************************你叫小明,你从小就立志要去解救生活在水深火热中的米国人*但是你发现,到了米国之后什么都不一样了,*他们说的是英语,吃饭用的是叉子,有他们的医疗,法律,教育制度等*这一整套就是一个策略*********************************/interface Country{function newAroundHere($obj);}//这是你class You{private $name = "XiaoMing";public $language = "";public $dinnerware = "";//你会说话function say($country){echo "My name is $this->name and I Speaking $this->language in $country, with a $this->dinnerware to eat";}}class CHN implements Country{public $language = "Chinese";//我们在中国说的是中文public $dinnerware = "Chopsticks";//餐具是筷子//俗话说 When in Rome do as the Rome`s Do//到了这里就要把我们的风俗习惯给你加载一遍function newAroundHere($obj){foreach ($obj as $key => $value) {$obj->$key = $this->$key;}return $obj;}}//但是你拿到了绿卡,远赴重洋要完成你的使命class USA implements Country{public $language = "English";public $dinnerware = "Fork";//但是首先你要适应这里function newAroundHere($obj){foreach ($obj as $key => $value) {$obj->$key = $this->$key;}return $obj;}}$you = new You();$chn = new CHN();$chn->newAroundHere($you);$you->say("China");echo "<br/>===============================================================================================<br/>";$usa = new USA();$usa->newAroundHere($you);$you->say("American");


原创粉丝点击