设计模式-策略模式

@  January 1, 1970

策略模式中类的行为和算法可以在运行时更改,是一种行为型模型。

场景:

多种算法相似的行为用策略模式解决if...else过多的情形,

实现方法:

同时继承同一个接口,根据运行的不同场景进行切换不同类处理。

个人理解:

我要用一个交通工具去旅游;

交通工具可以是(自行车,轿车,摩托车)

代码示例:

interface base{

public function driver();

}

class bike extends base{

public function driver(){

echo "bike ";

}

}

class car extends base{

public function driver(){

echo "car ";

}

}

class motor extends base{

public function driver(){

echo "motor ";

}

}

class play{

function __construct(base driver){

driver.driver();

}

}

new play(new bike());

new play(new car());

new play(new motor());


评论已关闭