![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 52
Azure.yao
这个作者很懒,什么都没留下…
展开
-
适配器(Adapter)
适配器模式说明适配器模式(Adapter) 通常也被称为转换器,当一个对象或类的接口不能匹配用户所期待的接口时,适配器就充当中间转换的角色,以达到兼容用户接口的目的,同时适配器也实现了客户端与接口的解耦,提高了组件的可复用性充当一个适配、兼容的工作例子两插脚的电子设备如何使用三孔插座实现通电,开启电视● Target(目标接口):客户端要使用的目标接口标准,对应本章例程中的三相插孔接口TriplePin。● Adapter(适配器):实现了目标接口,负责适配(转换)被适配者的接口sp原创 2022-04-10 15:02:11 · 593 阅读 · 0 评论 -
观察者模式(Observer)
发布/订阅现实中的观察者(Observer)往往是主动方,这是由于目标主题(Subject)缺乏主观能动性造成的,其状态的更新并不能主动地通知观察者,这就造成观察行为的持续往复。而在软件设计中我们可以将目标主题作为主动方角色,将观察者反转为被动方角色,建立反向驱动式的消息响应机制,以此来避免做无用功,优化软件效率作为一种发布/订阅(publish/subscribe)式模型,观察者模式被大量应用于具有一对多关系对象结构的场景,它支持多个观察者订阅一个目标主题。一旦目标主题的状态发生变化,目标对象..原创 2022-04-10 14:08:43 · 191 阅读 · 0 评论 -
装饰器模式(Decorator)
装饰器模式说明装饰器模式(Decorator)能够在运行时动态地为原始对象增加一些额外的功能,使其变得更加强大类似俄罗斯套娃需要明白两个概念:装饰器和装饰者装饰者:大男孩, 实现了行为接口,具备了基本的行为行为接口:装饰器抽象类:对装饰器的抽象,并实现了行为接口-装饰器实现类:调用装饰器父类构造器,注入装饰者,如“好看的皮囊”、“有趣的灵魂”实例代码package com.azure.design.decorator;/** * 人类行为 */public原创 2022-04-09 23:32:10 · 272 阅读 · 0 评论 -
模板模式(Template)
模板模式说明模板是对多种事物的结构、形式、行为的模式化总结,而模板方法模式(Template Method)则是对一系列类行为(方法)的模式化基类定义了一套模板(不可变),供子类继承,子类可以扩展(可变),丰富自己的业务场景当然,对于基类模板中的步骤方法并不是必须要用抽象方法,而是完全可以用实体方法去实现一些通用的操作,灵活设计,如果子类需要个性化就对其进行重写变更,不需要就直接继承。根据场景进行适当的变通,才能对设计模式更灵活、更恰当的运用。...原创 2022-04-09 22:29:46 · 422 阅读 · 0 评论 -
单例模式(Singleton)
Singleton(单例):包含一个自己的类实例的属性,并把构造方法用private关键字隐藏起来,对外只提供getInstance()方法以获得这个单例对象除了“饿汉”与“懒汉”这2种单例模式,其实还有其他的实现方式。但万变不离其宗,它们统统都是由这2种模式发展、衍生而来的饿汉示例代码:/** * 饿汉模式 */public class HungerSingleton { private static final HungerSinglet...原创 2022-04-09 21:57:07 · 102 阅读 · 0 评论 -
门面模式(Facade)
门面模式说明它能将多个不同的子系统接口封装起来,并对外提供统一的高层接口,使复杂的子系统变得更易使用为了达到高效、便捷的目的,门店会统一对子系统进行整合与调度外观门面类内部封装了大量的子系统资源在实际场景中可能还会包含一些更加复杂的逻辑实际业务场景业务逻辑层(Service层)对数据访问层(DAO层)的调用可能包含多个步骤,除此之外还要进行事务处理,最终统一对外提供一个update()方法,如此一来上层(...原创 2022-04-07 22:57:56 · 498 阅读 · 0 评论 -
原型模式(Prototype)
原型模式的各角色定义如下● Prototype(原型接口):声明克隆方法,对应本例程代码中的Cloneable接口。● ConcretePrototype(原型实现):原型接口的实现类,实现方法中调用super.clone()即可得到新克隆的对象。● Client(客户端):客户端只需调用实现此接口的原型对象方法clone(),便可轻松地得到一个全新的实例对象。从类到对象叫做“创建”, 从实例对象到副本对象叫做“克隆”使用场景当需要创建多个类似的复杂对象时,可以考虑原型模式,克隆原创 2022-04-06 23:03:03 · 462 阅读 · 0 评论 -
简单工厂模式
1.工厂方法注意,返回类型为抽象产品角色2.通过调用简单工厂类实例化对象实例3.简单工厂模式也叫作静态工厂模式UML 类图:抽象运算类:定义两个成员变量, 一个抽象结果值方法,后续子类重写运算类该抽象方法满足计算不同的规则public abstract class Operation { private double numberA; private double numberB; public double getNumberA() { .原创 2021-09-19 22:04:10 · 104 阅读 · 0 评论