
常见的设计模式
文章平均质量分 77
丶lemon7
热爱学习,爱加班️
展开
-
模板方法模式
这里的“算法”,我们可以理解为广义上的“业务逻辑”,并不特指数据结构和算法中的“算法”。这里的算法骨架就是“模板”,包含算法骨架的方法就是“模板方法”,这也是模板方法模式名字的由来。下面是一个简单的Java示例,展示了如何使用模板方法设计模式:原创 2024-04-28 08:00:00 · 278 阅读 · 0 评论 -
观察者模式
观察者模式是一种行为设计模式,允许对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。在这种模式中,发生状态改变的对象被称为“主题”(Subject),依赖它的对象被称为“观察者”(Observer)。观察者模式(Observer Design Pattern)也被称为发布订阅模式让我们通过一个简单的例子来实现观察者模式。假设我们有一个气象站(WeatherStation),需要向许多不同的显示设备(如手机App、网站、电子屏幕等)提供实时天气数据。原创 2024-04-27 09:29:07 · 1071 阅读 · 0 评论 -
适配器模式
适配器模式的主要目的是在不修改现有代码的情况下,使不兼容的接口能够协同工作。通过引入适配器角色,客户端可以使用目标接口与需要适配的类进行通信,从而实现解耦和扩展性。使用继承实现适配器功能,适配器类继承了原有的类(Adaptee)并实现了目标接口(Target)。适配器设计模式(Adapter Design Pattern)是一种结构型设计模式,用于。,使得它们可以协同工作。在实际开发中,应根据具体需求选择使用类适配器还是对象适配器。原创 2024-04-26 18:32:01 · 251 阅读 · 0 评论 -
建造者模式
如果构造函数参数过多,我们就需要考虑使用建造者模式,先设置建造者的变量,然后再一次性地创建对象,让对象一直处于有效状态。比如我们定义了一个长方形类,如果不使用建造者模式,采用先创建后 set 的方式,那就会导致在第一个 set 之后,对象处于无效状态。实际上,如果我们并不是很关心对象是否有短暂的无效状态,也不是太在意对象是否是可变的。比如,对象只是用来映射数据库读出来的数据,那我们。的构造函数是私有的,外部无法直接创建该类的实例。而且,使用建造者模式来构建对象,代码实际上是有点重复的。原创 2024-04-24 09:00:00 · 322 阅读 · 0 评论 -
装饰器模式
就比如说上面的例子,BufferInputStream包装了一个FileInputStream,对原始对象进行了增强,而且装饰器模式支持层层包装。我们会经常使用原始类,也经常使用包装类,使用方式更灵活了,装饰器模式可以让原来功能不够强大的对象逐渐变强。比如说,我们给service层中的每个方法的特定位置加上日志,日志本身与我们的业务逻辑并不是强相关的,而且我们之后也一般不会使用到原始对象了,而是直接面向代理开发,使用代理中的方法,代理模式的初衷是屏蔽原始对象并增强功能。原创 2024-04-25 10:41:28 · 938 阅读 · 1 评论 -
工厂设计模式
一般情况下,工厂模式分为三种更加细分的类型:简单工厂、工厂方法和抽象工厂。原创 2024-04-23 10:46:29 · 531 阅读 · 0 评论 -
单例设计模式
单例设计模式(Singleton Design Pattern)理解起来非常简单。一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。原创 2024-04-21 10:47:22 · 864 阅读 · 0 评论