zoukankan      html  css  js  c++  java
  • 设计模式总结之创建型设计模式

    单件模式(Singleton Pattern保证一个类仅有一个实例,并提供一个访问它的全局访问点。它解决的是实体对象的个数问题,其他的都是解决new所带来的耦合关系问题。这里包括多线程单件模式,双重锁定单件模式。

    类图:

    工厂方法模式(Factory Pattern定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类中。在工厂方法中,工厂类成为了抽象类,其实际的创建工作将由其具体子类来完成。工厂方法的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中去,强调的是“单个对象”的变化。

    类图:

    工厂模式

     

    简单工厂

     

    简单工厂模式的最大优点在于工厂类中包含了必要的判断,根据客户端的选择提交见动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。

     

    抽象工厂模式(Abstract Factory提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂是所有工厂模式中最为抽象和最具有一般性的一种形态。抽象工厂可以向客户提供一个接口,使得客户可以在不必指定产品的具体类型的情况下,创建多个产品族中的产品对象,强调的是“系列对象”的变化。

    类图:

     

     

     

    建造者模式(builder):将复杂对象的构建与它的表现分离,使得同样的构建过程能够创建不同的表示。把构造对象实例的逻辑移到了类的外部,在这个类的外部定义了这个类的构造逻辑。他把一个复杂对象的构造过程从对象的表示中分离出来。其直接效果是将一个复杂的对象简化为一个比较简单的目标对象。他强调的是产品的构造过程。

    类图:



    应用场景:一个站点需要提供两种视图一种是手机一种是PC。业务一致,而构建的视图不一致。此时需要建造者将构建与他的表现分离,构建过程创建不同的表示。这样说或许有些模糊,记住一个关键词“对象部分”变化

    原型模式(Prototype):用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象。和工厂模式一样,同样对客户隐藏了对象创建工作,但是,与通过对一个类进行实例化来构造新对象不同的是,原型模式是通过拷贝一个现有对象生成新对象的。通过克隆来解决“易变对象”的创建问题

    类图:

  • 相关阅读:
    python学习笔记二
    计网第三章
    python学习笔记一
    Java基础第二十七天总结——网络编程
    Java基础第二十六天总结——IO流
    Java基础第二十五天总结——泛型
    Java基础第二十四天总结——集合
    Java基础第二十三天总结——集合
    Java基础第二十二天总结——枚举类与注解
    Java基础第二十一天总结——日期时间API
  • 原文地址:https://www.cnblogs.com/cnsym/p/3135799.html
Copyright © 2011-2022 走看看