ichengzi / ichengzi.github.io

ichengzi's blogs and learn notes
https://ichengzi.github.io
1 stars 0 forks source link

head first 设计模式-0x04 #16

Open ichengzi opened 4 years ago

ichengzi commented 4 years ago

工厂模式

  1. 简单工厂方法

    一般静态方法, 只有一种实现,new对象

  2. 工厂方法

    抽象类里的一个抽象方法,具体的实现类中来实现, new对象

  3. 抽象工厂

    定义一个契约接口,用于生产一系列产品。 抽象类中再实现再传入这个接口的实现。 类似策略模式的实现

concrete: 具体物 concreteCreator: 具体实现类的创建

原则

  1. 代码里, 要减少得实具体实现类的依赖。 要依赖抽象, 不要依赖具体类

    1.变量不可以持有具体类的引用 2.不要让类派生自具体类 3.不要覆盖基类中已实现的方法

NOTE: 正如许多原则一样, 应该尽量达到这个原则,而不是随时都要遵守这个原则。设计时, 多思考, 何时有足够的理由违反这样的原则。