Template設(shè)計(jì)模式主要適用于需要按一定的步驟執(zhí)行的場(chǎng)合,但有的步驟在不同的場(chǎng)合執(zhí)行的內(nèi)容有不相同。如下類圖中的TemplateClass中的execute()方法會(huì)按照如下的順序進(jìn)行調(diào)用:
public void execute() {
step1();
step2();
}
但由于step1在不同的場(chǎng)合執(zhí)行的內(nèi)容不一樣,此時(shí)就將step1設(shè)為抽象方法,在TemplateConcreteClass1和TemplateConcreteClass2中分別實(shí)現(xiàn),這樣就形成了Template設(shè)計(jì)模式,step1()方法也稱為模板方式。
類圖如下: