设计模式:模板方法(Template Method Pattern)
生活随笔
收集整理的這篇文章主要介紹了
设计模式:模板方法(Template Method Pattern)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
??模板方法模式: 在一個(gè)抽象類公開定義了執(zhí)行它的方法的模板,它的子類可以按需要重寫方法實(shí)現(xiàn),但調(diào)用將以抽象類中定義的方式進(jìn)行。 屬于行為型模式。
? spring ioc容器初始化時(shí)運(yùn)用到模板方法模式。
?
// 抽象類,表示豆?jié){ public abstract class SoyMilk {// 模板方法可以做成final,不讓子類覆蓋final void make(){select();addCondiments();soak();beat();}void select(){System.out.println("第一步: 選擇好的新鮮黃豆 ");}abstract void addCondiments();// 浸泡void soak(){System.out.println("第三部: 黃豆和配料開始浸泡,需要3個(gè)小時(shí) ");}void beat(){System.out.println("第四部: 黃豆和配料放到豆?jié){機(jī)去打碎 ");} }public class RedBeanSoyaMilk extends SoyMilk{@Overridevoid addCondiments() {System.out.println("加入上好的紅豆...");} }public class PeanutSoyaMilk extends SoyMilk{@Overridevoid addCondiments() {System.out.println("加入上好的花生...");} }public class Client {public static void main(String[] args){System.out.println("制作紅豆豆?jié){");SoyMilk redBeanSoyaMilk = new RedBeanSoyaMilk();redBeanSoyaMilk.make();System.out.println("制作花生豆?jié){");SoyMilk peanutSoyaMilk = new PeanutSoyaMilk();peanutSoyaMilk.make();} }?
? ?
總結(jié)
以上是生活随笔為你收集整理的设计模式:模板方法(Template Method Pattern)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式:享元模式(Flyweight
- 下一篇: 设计模式:命令模式(Command Pa