• 设计模式-创建型模式(读书笔记)


    设计模式是经过总结、优化的,对经常碰到的一些编程问题可重用的解决方案。

    创建型模式抽象了实例化过程,类创建型模式-使用继承改变被实例化的类,对象创建型模式-将实例化委托给另一个对象。

    抽象工厂(abstract factory)

    提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。


    AbstractFactory:声明创建抽象产品对象的接口。

    ConcreteFactory:创建具体的产品对象,实现AbstractFactory接口。

    AbstractProduct:为一类产品对象声明接口。

    ConcreteProduct:被ConcreteFactory具体工厂创建的具体产品对象,实现AbstractProduct接口。

    client:仅使用由AbstractFactory和AbstractProduct类声明的接口,AbstractFactory将对象的创建延迟到ConcreteFactory子类。

    生成器(Builder)

    将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。


    Builder:为创建一个product对象的各个部件指定抽象接口

    ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件

    Director:构造一个使用Builder接口的对象

    Product:表示被构造的复杂对象,ConcreteBuilder创建该产品的内部表示并定义它的装配过程;包含定义组成部件的类,包括将这些部件装配成最终产品的接口。

    使用过程:客户创建Director对象,并用它所想要的Builder对象进行配置;一旦产品部件被生成,导向器就会通知生成器;生成器处理导向器的请求,并将部件添加到该产品中;客户从生成器中检索产品。


    工厂方法(factory method)

    定义一个用于创建对象的接口,让子类决定实例化哪一个类。


    Product:定义创建对象的接口

    ConcreteProduct:实现Product接口

    Creator:声明工厂方法,该方法返回一个Product类型对象

    ConcreteCreator:重定义工厂方法,返回一个ConcreteProduct实例

    原型(prototype)

    用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。


    Prototype:声明一个克隆自身的接口

    ConcretePrototype:实现一个克隆自身的操作

    Client:让一个原型克隆自身从而创建一个新对象

    单例模式(Singleton)

    保证一个类仅有一个实例,并提供一个访问它的全局访问点。


  • 相关阅读:
    Spring Boot Devtools 热部署依赖
    SpringBoot 整合 thymeleaf
    spring boot 静态资源的映射规则 (3) 欢迎页面映射
    spring boot 静态资源的映射规则 (2) 替他资源映射
    spring boot 静态资源的映射规则 (1) webjars 资源映射
    css初始化minireset.css
    php递归函数细节
    php的递归函数示例
    php正则字符串提取汉字
    Javascript中的Callback方法浅析
  • 原文地址:https://www.cnblogs.com/whuqin/p/4981992.html
Copyright © 2020-2023  润新知