设计模式之五种创建型模式学习笔记

创建型模式:

  • 工厂模式:

    • 简单工厂模式(静态工厂模式):

        优点:产品使用者不需要关心产品类的创建过程,与具体产品的实现类达到解耦的效果。
        缺点:违背“开放-封闭”原则(OCP),因为新增一个产品类的时候,需要修改原先的工厂方法。
        应用场景:工厂类负责创建的对象比较少的时候。
      
    • 工厂方法模式:

        定义:工厂方法模式中抽象工厂负责定义创建对象的接口,具体对象的创建工作由实现抽象工厂的具体工厂类来完成。
        优点:在工厂方法模式中,客户端不再负责对象的创建,而是把这个责任交给了具体的工厂类,客户端只负责对象的调用,明确了各个类的职责。如果有新的产品加进来,只需要增加一个具体的创建产品工厂类和具体的产品类,不会影响其他原有的代码,后期维护更加容易,增强了系统的可扩展性。
        缺点:需要额外的编写代码,增加了工作量。
        应用场景:适合比较复杂对象的创建。
      
    • 抽象工厂模式

        定义:如果客户端需要创建一些产品结构,而这些产品结构由分别属于不同的产品类别,则可以使用抽象工厂模式,抽象工厂模式中的抽象工厂类负责定义创建对象的接口,而这一系列对象的创建工作由实现抽象工厂类的具体工厂类来完成。
        原理:抽象工厂模式主要有四部分组成:抽象工厂类的具体实现类、抽象类和实现抽象类的具体实现类。
        优点:在抽象工厂模式中,客户端不再需要负责对象的创建,而是把这个责任交给了具体的工厂类,客户端只负责对对象的调用,明确了各个类的职责。当一系列相互关联的产品被设计到一个工厂里面后,客户端的调用变得简单,而且更换这一列的产品时,只需要更换一个工厂类即可。
        缺点:如果有新的产品加进来,则需要修改抽象工厂类的设计,并同时修改实现这个抽象工厂类的具体实现类,需要额外编写代码,增加了工作量。
        应用场景:当系统创建一系列相互关联的对象时,就需要使用抽象工厂模式。

 

      

  • 单例模式:

  • 建造者模式:

  • 原型模式:

posted @ 2019-02-20 18:23  小屈工作室  阅读(216)  评论(0编辑  收藏  举报