您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP设计模式之策略模式详解

2024/4/5 22:01:47发布15次查看
策略模式,将一组特定的行为和算法封装成类,来适应某些特定的上下文环境,这种模式就是策略模式,策略模式用于算法的自由切换和扩展,它是应用较为广泛的设计模式之一。
<?php /* *策略模式 */ interface flybehavior { public function fly(); } class flywithwings implements flybehavior { public function fly() { echo "鸭子用翅膀飞行 \n"; } } class flywithno implements flybehavior { public function fly() { echo "鸭子不用翅膀飞行 \n"; } } class duck { private $_flybehavior; public function performfly() { $this->_flybehavior->fly(); } public function setflybehavior(flybehavior $behavior) //被外部调用设置策略的 { $this->_flybehavior = $behavior; } } class rubberduck extends duck { } // test case $duck = new rubberduck(); /* 想让鸭子用翅膀飞行 */ $duck->setflybehavior(new flywithwings()); $duck->performfly(); /* 想让鸭子不用翅膀飞行 */ $duck->setflybehavior(new flywithno()); $duck->performfly();
策略模式用于算法的自由切换和扩展,它是应用较为广泛的设计模式之一。策略模式对应于解决某一问题的一个算法族,允许用户从该算法族中任选一个算法来解决某一问题,同时可以方便地更换算法或者增加新的算法。只要涉及到算法的封装、复用和切换都可以考虑使用策略模式
相关推荐:
php策略模式定义与用法实例详解
php策略模式的代码分享
星际争霸之php策略模式
以上就是php设计模式之策略模式详解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product