创建型模式
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用new运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。
•工厂模式与抽象工厂模式(Factory Pattern)(Abstract Factory Pattern):不同条件下创建不同实例
•单例模式 (Singleton Pattern):保证一个类仅有一个实例
•建造者模式 (Builder Pattern) :将一个复杂的构建过程与其具表示细节相分离,使得同样的构建过程可以创建不同的表示
•原型模式 (Prototype Pattern) :通过拷贝原型创建新的对象
1. 工厂方法模式

定义一个创建对象的接口,让子类决定实例化那个类。
举例:
java.util.Calendar#getInstance() 、java.lang.Class#newInstance()
2.抽象工厂模式

提供一个创建一系列相关或相互依赖对象的接口
3.单例模式

单例模式主要用于:
1.控制实例数目:保证一个类仅有一个实例,并提供一个访问它的全局访问点
2.节省系统资源:当创建的一个对象需要消耗的资源过多(比如 I/O 与数据库的连接等),或一个资源占用内存较大时,单例可以保证只创建一次、只保存一个实例,达到节省系统资源的目的。
实现方式:
饿汉式
懒汉式(双检锁)
静态内部类
4.建造者模式

建造者模式(Builder Pattern)主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。建造者模式将一个复杂的构建过程与其具表示细节相分离,使得同样的构建过程可以创建不同的表示。
5.原型模式

实现克隆操作,
1.通过继承 Cloneable,重写 clone(),实现对象的浅拷贝/深拷贝
2.通过序列化的方式来实现深拷贝
当直接创建对象的代价比较大时,可以采用原型模式。例如,一个对象需要在一个高代价的数据库操作之后被创建,我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。
欢迎关注公众号:“架构一线”,定期分享一些实战心得,互联网前沿技术等.
本文深入探讨了创建型设计模式,包括工厂模式、抽象工厂模式、单例模式、建造者模式和原型模式,讲解了每种模式的原理、应用场景及实现方式。

被折叠的 条评论
为什么被折叠?



