
创造型设计模式
文章平均质量分 73
创造型设计模式简介
so~what
这个作者很懒,什么都没留下…
展开
-
设计模式之~建造者模式(生成器模式)
简而言之,就是当我们需要将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示的意图时,我们需要应用建造者模式。director(指挥者)是构建一个使用builder接口的对象,主要是用于创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。建造者模式的好处就是使得建造代码与表示代码分离,由于建造着隐藏了该产品是如何组装的,所以若需要改变一个产品的内部表示,只需要再定义一个具体的建造者就可以了。如内部变化复杂,会有很多的建造类。原创 2023-05-30 21:10:51 · 107 阅读 · 0 评论 -
设计模式之~单例模式
枚举类实现单例模式是 effective java 作者极力推荐的单例实现模式,因为枚举类型是线程安全的,并且只会装载一次,设计者充分的利用了枚举的这个特性来实现单例模式。在单例模式中,活动的单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例。不能实现懒加载,造成空间浪费,如果一个类比较大,我们在初始化的时就加载了这个类,但是我们长时间没有使用这个类,这就导致了内存空间的浪费。不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态。原创 2023-05-30 21:04:48 · 1942 阅读 · 0 评论 -
设计模式之~原型模式
因为对象的复制是通过调用Object类的clone方法来完成的,它直接在内存中复制数据,因此不会调用到类的构造方法。Object类的clone方法只会拷贝对象中的基本的数据类型,对于数组、容器对象、引用对象等都不会拷贝,这就是浅拷贝。如果字段是值类型的,则对该字段执行逐位赋值,如果字段是引用类型,则复制引用但不复制引用的对象;深复制:把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象。浅复制:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象。原创 2023-05-30 21:10:55 · 1612 阅读 · 0 评论 -
设计模式之~工厂系列(简单工厂、工厂方法、抽象工厂)
由于这种隔离,更换一个具体工厂就变得相对容易,所有的具体工厂都实现了抽象工厂中定义的那些公共接口, 因此只需改变具体工厂的实例, 就可以在某种程度上改变整个软件系统的行为。适用场景:简单工厂适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创建对象的逻辑不需要关心。都集中封装了对象的创建,使得要更换对象时,不需要做大的改动就可以实现,降低了客户程序与产品对象的耦合。封装了对象的创建,使得要更换对象时,不需要做大的改动就可实现,降低了客户程序与产品对象的耦合。原创 2023-05-30 21:07:57 · 1853 阅读 · 0 评论