创建型
文章平均质量分 53
创建型模式:关注如何有效地创建对象或类的实例。这些模式提供了一种机制,帮助我们在创建对象时尽量减少耦合,同时提供更灵活的创建方式。创建型设计模式通常涉及对象的创建、组合和管理。
小白想要逆袭
喜欢分享学习的小白,帅
展开
-
大话设计模式——9.单例模式(Singleton Pattern)
确保一个类只有一个实例,并提供全局访问点来获取该实例,是最简单的设计模式。UML图:饿汉式(线程安全)提前创建实例,好处在于该实例全局唯一,不存在线程冲突;坏处在于未使用时也会占用内存资源。懒汉式(原生写法存在线程冲突问题)将实例的创建延迟到第一次使用时进行,相当于懒加载私有化构造器提供唯一的全局访问接口对象不复杂时,建议使用饿汉式。其他情况下使用懒汉式性能较好。原创 2024-04-07 15:27:58 · 703 阅读 · 0 评论 -
大话设计模式——7.抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式是工厂模式的进一步优化,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。属于创建型模式。1)优点:a. 让具体的创建实例过程与客户端分离,客户端是通过它们的抽象接口操纵实例,产品的具体类名也被具体工厂实现分离,不会出现在客户代码中b. 可以保证使用方始终只使用同一个产品族中的对象c. 扩展容易,只需要增加新的产品类和对应的工厂类即可2)缺点:a. 不符合开闭原则,新增产品类时需要修改抽象工厂和抽象产品中的代码b. 增加了系统的复杂性和抽象性。原创 2024-03-15 22:01:49 · 534 阅读 · 0 评论 -
大话设计模式——2.简单工厂模式(Simple Factory Pattern)
定义:又称静态工厂方法,可以根据参数的不同返回不同类的实例,专门定义一个类(工厂类)来负责创建其他类的实例可通过类名直接调用,被创建的实例通常具有共同的父类。计算器中的加减乘除,可将不同的运算看成不同的对象,通过工厂类进行构建,传入你想创建的对象的运算符号。工厂对象创建:提供一个统一的静态方法,创建运算对象。基类:运算对象,确定运算参数和方法。后续运算对象创建类似。加法运算对象继承基类。原创 2024-02-20 17:51:10 · 651 阅读 · 0 评论 -
大话设计模式——8.原型模式(Prototype Pattern)
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。属于创建型模式。指创建一个新的对象,然后将原始对象的字段值复制到新对象中。如果字段是基本类型,直接复制其值;如果字段是引用类型,则复制其引用,新对象和原对象将共享同一份引用指向相同的内存地址。一般实现Cloneable接口,重写clone()方法。指创建一个新的对象,然后将原始对象的字段值复制到新对象中。但与浅拷贝不同的是,对于引用类型的字段,深拷贝会递归地复制其所指向的对象,而不是复制引用本身。一般实现Serializable。原创 2024-03-17 22:12:35 · 632 阅读 · 0 评论 -
大话设计模式——6.工厂方法模式(Factory Method Pattern)
工厂方法模式也称工厂模式,是简单工厂模式的进一步抽象。定义一个用于创建对象的接口,使一个类的实例化延迟到其子类,让子类决定实例化哪个类。通过工厂父类定义负责创建产品的公共接口,通过子类确定所需要创建的类型。属于创建型模式。1)优点:符合6大原则,只需要知道产品的抽象类即可,无需关心其他具体实现类每个产品都需要有对应的具体产品类和具体工厂。原创 2024-03-14 21:19:57 · 495 阅读 · 0 评论 -
大话设计模式——3.建造者模式(Builder Pattern)
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。UML图优点:隐藏具体的建造细节,将产品本身与产品的创建过程解耦具体建造者之间相对独立,可以更加精细地控制产品的创建过程新增具体建造者无须修改原有类库的代码,符合开闭原则缺点:创建的产品的需要有较多的共同点,否则使用效果不理想也会增加系统代码的复杂度,使其更为抽象,维护难度增大。原创 2024-02-26 20:16:16 · 538 阅读 · 0 评论