有一个功能,大概可以拆分几步,分别是: 流程1 流程2 流程3 。。。。一直到流程7。
场景1:需要自定义流程3,获取自己的数据。
场景2: 需要直接从流程3开始工作。
主要可以通过两种设计模式,模板方法 和 策略模式
class Xx {
private $specialClass = null;
public function _construct($special){
$this->$specialClass = $special;
}
public function sceneOne(){
$this->one();
$this->two();
$this->specialClass->do();
....
}
public function sceneTwo(){
$this->four();
$this->five()
}
public function one(){
}
public function two() {
}
public function four(){
}
public function five(){
}
}
流程1到流程7 分开写成7个方法
场景1 设计一个流程,自定义方法3-调用方法1到7
场景2 设计成另一个流程,调用方法3到方法7
串行运行就是上面;
有并行的话就要根据实际情况,设计成线程,设置优先级,设置消息,锁等方法来传递参数或维护数据了