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

创建型模式总结

目的

通过对象创建型模式,解决new关键字创建对象导致的紧耦合。从而支持对象创建的稳定。

典型的模式

工厂方法
抽象工厂
原型模式
建造者模式

特殊的模式

值对象模式
依赖注入模式
转换器模式
分步构建模式

动机

工厂方法动机

在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常发生变化。
如何应对这种变化?如何绕开常规的对象使用构造器创建对象,提供一种"封装机制"来避免客户程序和这种"具体对象创建工作"的紧耦合

抽象工厂动机

在软件系统中,经常面临着"一系列相互依赖的对象"的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。
如何应对这种变化?如何绕开常规的对象使用构造器创建对象,提供一种"封装机制"来避免客户程序和这种"多系列具体对象创建工作"的紧耦合

原型模式动机

在软件系统中,经常面临着“ 某些结构复杂的对象 ”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,
但是它们却拥有比较稳定一致的接口如何应对这种变化,如何向“客户程序(使用这些对象的程序)”隔离出“这些易变对象”,
从而使得“依赖这些易变对象的客户程序”不随着需求改变而改变?

建造者模式动机

在软件系统中,有时候面临一个"复杂对象"的创建工作,其通常由各个部分的子对象用一定算法构成;
由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合到一起的算法却相对稳定。
如何应对种变化呢?如何提供一种"封装机制"来隔离出"复杂对象的各个部分"的变化,从而保持系统中的"稳定构建算法"不随需求的改变而改变?

值对象模式动机

在软件系统中,只要两个对象的值相同,即使他们不是同一个对象,我们也被认为两个对象是相等的。
值对象模式就是通过值相等而不是引用相等来判断两个对象是否是同一个对象。

依赖注入模式动机

依赖注入模式的动机是解耦组件之间的依赖关系,提高代码的灵活性、可维护性和可测试性

转换器模式动机

转换器模式的动机是提供相应类型之间双向转换的通用方法,允许进行干净的实现,而类型之间无需相互了解。

如:在真实的应用中经常有这种情况,数据库层包含需要被转换成业务逻辑层DTO来使用的实体。对于潜在的大量类进行类似的映射,需要一种通用的方法来实现。
创建通用的转换器,可以解决此类问题。

分步构建模式动机

(分步构建模式)的动机主要是解决在创建复杂对象时面临的问题。在传统的构建方式中,可能需要一次性传递大量的参数给构造函数,或者设置大量的属性来构建一个对象。这种方式不仅代码冗长,而且容易出错,因为需要确保传递的参数或设置的属性都是正确的。
(分步构建模式)通过将对象的构建过程分解为一系列的步骤,每个步骤只关注对象的一部分属性或行为,从而简化了对象的创建过程。这种模式允许用户按照特定的顺序逐步构建对象,每个步骤都返回一个构建器对象,用户可以在这个对象上继续调用其他方法来设置更多的属性或行为。最后,当用户完成对象的构建后,可以调用构建器的build()方法来生成最终的对象。
(分步构建模式)的动机还包括提供一种更加灵活和可扩展的对象创建方式。通过定义一系列的构建步骤,可以根据不同的需求选择不同的步骤来构建对象,从而满足不同的业务需求。此外,由于每个步骤都是独立的,因此可以很容易地对某个步骤进行修改或扩展,而不会影响其他步骤的实现。

总之,(分步构建模式)的动机是为了解决在创建复杂对象时面临的问题,提供一种更加简洁、灵活和可扩展的对象创建方式

定义

工厂方法定义

定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使得一个类的实例化延迟(目的:解耦)到子类。

抽象工厂定义

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

原型模式定义

使用原型实例指定创建对象的种类,然后通过拷贝这些原型来对象。

建造者模式定义

将一个复杂对象的构建与其表示相分离,使得同样的构建过程(稳定)可以创建不同的表示(变化)

值对象模式定义

值对象模式一种在面向对象编程中常见的设计模式,它主要用于封装一组值,使其可以通过值进行比较
来判断两个对象是否是同一个对象。而不是通过引用来判断

依赖注入模式定义

依赖注入模式是一种面向对象编程中的设计模式,它的目的是将一个对象所依赖的其他对象的创建过程,从该对象本身中分离出来,以便更好地实现解耦和可测试性

转换器模式定义

在两种不同类型的对象之间进行转换,而不需要改变原型的实际逻辑

分步构建模式定义

(分步构建模式)是一种创建型设计模式,它是链式建造者模式的进一步扩展,能够按步骤实例化对象

本质

工厂方法本质

工厂方法模式的本质:延迟到子类来选择实现

抽象工厂本质

抽象工厂本质:选择产品族的实现

原型模式本质

原型模式的本质:克隆生成对象

建造者模式本质

建造者模式的本质:分离整体构建算法和部件构造

值对象模式本质

值对象模式本质:封装数据

依赖注入模式本质

依赖注入模式本质:保持软件之间的松耦合

转换器模式本质

转换器模式的本质是在两种不同类型的对象之间进行转换,同时不改变原型的实际逻辑

分步构建模式本质

分步构建模式本质是提供一种更加灵活和可扩展的逐步(按照一定的字段的初始化顺序)对象创建方式

逐步构建的方式可以更加清晰地表达构建过程,减少错误和遗漏的可能性

  • 34
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值