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


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

    类图:

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

    类图:

    工厂模式

     

    简单工厂

     

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

     

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

    类图:

     

     

     

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

    类图:



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

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

    类图:

  • 相关阅读:
    Jquery EasyUI选项卡-Tabs的使用方法
    JS—正则表达式
    Visiual Studio2012 CLR20r3问题
    JSON.stringify 语法实例讲解
    JS中对数组的操作方法
    easyUI之datagrid
    (转帖)关于easyui中的datagrid在加载数据时候报错:无法获取属性"Length"的值,对象为null或未定义
    [转载]JQ 选择器大全[<font color=red>强记忆</font>]
    thinkphp函数学习(1)——header, get_magic_quotes_gpc, array_map, stripslashes, stripslashes_deep
    thinkphp函数学习(0)——开篇
  • 原文地址:https://www.cnblogs.com/cnsym/p/3135799.html
Copyright © 2020-2023  润新知