Strategy Pattern은 특정 상황에 맞게 특정 행동과 알고리즘 세트를 캡슐화합니다. 이 패턴은 Strategy Pattern이며 알고리즘의 자유로운 전환과 확장에 사용됩니다. 더 널리 사용되는 디자인 패턴.
<?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 중국어 웹사이트의 기타 관련 기사를 참조하세요!