《图解设计模式》 第二部分 交给子类

交给子类

Teamplate Method 模式 -- 将具体任务交给子类

核心代码

public abstract class AbstractDisplay{
  public abstract void open();
  public abstract void print();
  public abstract void close();
  public finnal void display(){
    open();
    for(int i = 0; i < 5; i++){
      print();
    }
    close();
  }
}

没什么要说的,反正就是实现同一个接口,然后进行不同的行为。但是这个行为由接口控制. 具体 打印前 打印后的行为由子类掌控。

Factory Method 模式 -- 将实例生成交给子类

使用

public class Main{
  public static void main(String[] args){
    Factory factory = new IDCardFactory();
    Porduct card1 = factory.create("小明");
    Porduct card2 = factory.create("小红");
    Porduct card3 = factory.create("小刚");
    card1.use();
    card2.use();
    card3.use();
  }
}

Factory Method 是 Teamplate Method的一个典型例子

posted @ 2024-11-04 17:28  大俗XD  阅读(1)  评论(0编辑  收藏  举报