有什么适合的设计模式么?

有一个功能,大概可以拆分几步,分别是: 流程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

串行运行就是上面;

有并行的话就要根据实际情况,设计成线程,设置优先级,设置消息,锁等方法来传递参数或维护数据了