• 设计模式总结之创建型设计模式


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

    类图:

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

    类图:

    工厂模式

     

    简单工厂

     

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

     

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

    类图:

     

     

     

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

    类图:



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

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

    类图:

  • 相关阅读:
    3.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——下载文件
    rem实现手机页面自动缩放
    Git 常用命令
    使用 canvas+JS绘制钟表
    JS 操作数组的方法
    Node.js Request方法
    兼容浏览器的点击事件
    ES6知识点
    上传项目到github上
    JavaScript 编码风格
  • 原文地址:https://www.cnblogs.com/cnsym/p/3135799.html
Copyright © 2020-2023  润新知