
设计模式
文章平均质量分 91
crysw
不要在该奋斗的年纪选择了安逸,只有度过了一段连自己都被感动的日子,才会变成那个最好的自己。
展开
-
模板设计模式
模板方法设计模式( Template Method Design Pattern )原创 2024-03-03 17:50:47 · 1515 阅读 · 0 评论 -
观察者设计模式
观察者模式是一种行为设计模式,允许对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。在这种模式中,发生状态改变的对象被称为“主题”(Subject),依赖它的对象被称为“观察者”(Observer)。所以观察者模式(Observer Design Pattern)也被称为发布订阅模式被依赖的对象叫作被观察者(Observable),依赖的对象叫作观察者(Observer)。原创 2024-01-10 21:58:36 · 1297 阅读 · 0 评论 -
享元设计模式
所谓“享元”,顾名思义就是被共享的单元。它是一个不怎么常用的设计模式,享元模式的意图是复用对象,节省内存,前提是享元对象是不可变对象。当一个系统中存在大量重复对象时,如果这些重复的对象是不可变对象,就可以利用享元模式将对象设计成享元,在内存中只保留一份实例,供多处代码引用。这样可以减少内存中对象的数量,起到节省内存的目的。实际上,不仅仅相同对象可以设计成享元,对于相似对象,我们也可以将这些对象中相同的部分(字段)提取出来,设计成享元,让这些大量相似对象引用这些享元。这里的“原创 2023-12-26 22:26:52 · 1105 阅读 · 0 评论 -
组合设计模式
(Composite Pattern)是一种结构型设计模式。在组合模式中,每个对象都有相同的接口,这使得客户端不需要知道对象的具体类型,而只需要调用对象的通用接口即可。会将一组对象组织(Compose)成树形结构,以表示一种“部分 - 整体”的层次结构。组合让客户端(在很多设计模式书籍中,“客户端”代指代码的使用者)可以统一单个对象和组合对象的处理逻辑。下面是一个简单的组合模式示例代码,用于表示文件系统中的文件和文件夹。Component(抽象构件),定义文件系统的抽象接口。原创 2023-12-25 22:21:48 · 1068 阅读 · 0 评论 -
门面设计模式
门面模式,也叫外观模式,英文全称是 Facade Design Pattern。门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。门面模式(Facade Pattern)是一种结构型设计模式,它为一组复杂的子系统提供了一个简单的接口,使得子系统更容易使用和理解。在 Java 中,门面模式通常使用一个门面类(Facade Class)来包装一个或多个复杂的子系统,使得客户端只需要和门面类交互,而不需要直接与子系统交互。原创 2023-12-24 16:15:36 · 1761 阅读 · 0 评论 -
适配器设计模式
适配器设计模式(Adapter Design Pattern)是一种结构型设计模式,用于解决两个不兼容接口之间的问题。适配器允许将一个类的接口转换为客户端期望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。适配器模式的主要目的是:在不修改现有代码的情况下,使不兼容的接口能够协同工作。通过引入适配器角色,客户端可以使用目标接口与需要适配的类进行通信,从而实现解耦和扩展性。类适配器和对象适配器。原创 2023-12-23 22:55:50 · 1148 阅读 · 0 评论 -
桥接设计模式
桥接模式(Bridge Pattern)是一种结构型设计模式,用于将抽象与其实现相分离,以便两者可以独立地进行变化,实现了抽象和具体实现的解耦。原创 2023-12-20 21:08:49 · 1040 阅读 · 0 评论 -
装饰器设计模式
装饰器设计模式(Decorator)是一种结构型设计模式,它允许动态地为对象添加新的行为。它通过创建一个包装器来实现,先将对象放入一个装饰器类中,再将装饰器类放入另一个装饰器类中,以此类推,形成一条包装链。这样可以在不改变原有对象的情况下,动态地添加新的行为或修改原有行为。在 Java 中,实现装饰器设计模式的步骤如下:(1)定义一个接口或抽象类,作为被装饰对象的基类(2)定义一个具体的被装饰对象,实现基类中的方法(3)定义一个抽象装饰器类,继承基类,并将被装饰对象作为属性。原创 2023-12-18 21:55:37 · 1152 阅读 · 0 评论 -
代理设计模式
创建一个接口,定义代理类和被代理类共同实现的方法创建被代理类,实现这个接口,并且在其中定义实现方法创建代理类,也要实现这个接口,同时在其中定义一个被代理类的对象作为成员变量在代理类中实现接口中的方法,方法中调用被代理类中的对应方法通过创建代理对象,并调用其方法,方法增强这样,被代理类的方法就会被代理类所覆盖,实现了对被代理类的增强或修改。原创 2023-12-12 22:42:47 · 594 阅读 · 0 评论 -
原型设计模式
在Java编程中,浅拷贝是指在复制对象时,只复制对象的基本数据类型的值和引用类型的地址,不复制引用类型指向的对象本身。浅拷贝可以用于一些简单的场景,例如对象的基本属性不包含其他对象的引用类型,或者不需要修改对象引用类型所指向的对象。原创 2023-12-03 22:38:58 · 241 阅读 · 0 评论 -
建造者设计模式
Builder 模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。建造者模式是用来创建一种类型的复杂对象,通过设置不同的可选参数,“定制化”地创建不同的对象。我们以文档编辑器为例,假设我们需要创建一个复杂的HTML文档,它包含了标题、段落和图像等元素。我们可以使用创建者设计模式来构建HTML文档。原创 2023-11-26 22:26:36 · 531 阅读 · 0 评论 -
工厂设计模式
为创建一组相关或者相互依赖的对象提供一个接口,而且无须指定他们的具体类。抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式生产需要的对象。在简单工厂和工厂方法中,往往只需要创建一种类型的产品,但是如果需求改变,需要增加多种类型的产品,即增加产品族,假设需求是创建各种类型的资源,我们在上面案例的基础上再增加一个维度,如图片资源、视频资源、文本资源等。原创 2023-11-19 23:01:05 · 782 阅读 · 0 评论 -
软件设计原则
软件设计原则,更好的设计我们的应用。原创 2023-10-08 22:48:04 · 915 阅读 · 0 评论 -
单例设计模式
单例设计模式(Singleton Design Pattern), 一个类只允许创建 一个对象(或者实例),那这个类就是一个单例类,这种设计模式称为单例设计模式,简称单例模式。原创 2023-11-19 22:54:05 · 353 阅读 · 0 评论