【发布时间】:2015-02-26 12:48:30
【问题描述】:
模板设计模式让您可以设计一种算法,该算法可以通过覆盖一些模板方法来定制。
class Algorithm {
protected void init();
protected void prepareCup();
protected TeaBag prepareTeaBag();
protected void boilWater();
protected void putWaterIntoCup();
}
prepareTeaBag() 可以返回任意茶包来制作定制茶。
但是,如果我有一个算法需要一些操作参数,例如茶包的名称,以及正在更改为每个操作的一些其他属性,该怎么办。我可以将这些属性作为类成员保存到类中,但这样我就不能从不同的线程调用它。我需要传递一些 Context 类,该类会根据操作而改变,以允许多线程访问,或者您对此有何看法?
【问题讨论】:
标签: design-patterns