设计模式 Day07 原型模式、建造者模式、策略模式

2021-03-03  本文已影响0人  望穿秋水小作坊
1. 如何判断你已经掌握了某种设计模式?(非常重要)

一、对象的克隆-----原型模式

1. 这个模式的意图是什么?它解决了什么问题、什么时候可以使用它
2. 它是如何解决的?掌握它的结构图,记住它的关键代码
image.png
3. 至少能够想到它的两个应用实例?一个生活中的,一个软件中的
4. 这个模式的缺点是什么?在使用时要注意什么

二、复杂对象的组装与创建----建造者模式

1. 这个设计模式的意图是什么?它解决了什么问题、什么时候可以使用它
2. 它是如何解决的?掌握它的结构图,记住它的关键代码
image.png
3. 至少能够想到它的两个应用实例,一个生活中的,一个软件中的
4. 这个模式的缺点是什么?在使用时要注意什么

三、算法的封装于切换----策略模式

1. 这个设计模式的意图是什么?它解决了什么问题、什么时候可以使用它
2. 它是如何解决的?掌握它的结构图,记住它的关键代码
image.png
abstract class AbstractStrategy {
    public abstract void algorithm(); //声明抽象算法
}
class ConcreteStrategyA extends AbstractStrategy {
    //算法的具体实现
    public void algorithm() {
       //算法A
    }
}
class Context {
private AbstractStrategy strategy; //维持一个对抽象策略类的引用
 
    public void setStrategy(AbstractStrategy strategy) {
        this.strategy= strategy;
    }
 
    //调用策略类中的算法
    public void algorithm() {
        strategy.algorithm();
    }
}
……
Context context = new Context();
AbstractStrategy strategy;
strategy = new ConcreteStrategyA(); //可在运行时指定类型
context.setStrategy(strategy);
context.algorithm();
……
3. 至少能够想到它的两个应用实例,一个生活中的,一个软件中的
4. 这个模式的缺点是什么?在使用时要注意什么
上一篇下一篇

猜你喜欢

热点阅读