随笔分类 -  设计模式

摘要:单一职责原则 单一职责原则的英文名称是Single Responsibility Principle,简称是SRP。 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 参考: 设计模式之禅(第2版) 阅读全文
posted @ 2022-12-13 17:25 残城碎梦 阅读(47) 评论(0) 推荐(0) 编辑
摘要:什么是策略模式 策略模式(Strategy Pattern):定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。 策略模式的定义 ①、Context封装角色 它也叫做上下文角色, 起承上启下封装作用, 屏蔽高层模块对策略、 算法的直接访问,封装可能存在的变化。 ②、Strategy 抽象策 阅读全文
posted @ 2022-03-17 09:01 残城碎梦 阅读(156) 评论(0) 推荐(0) 编辑
摘要:什么是模板模式? 模板方法模式(Template Method Pattern):定义一个操作中的算法的框架, 而将一些步骤延迟到子类中。 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 即:父类模板方法定义不变的流程,子类重写流程中的方法。 模板模式定义 ①、AbstractCl 阅读全文
posted @ 2022-03-17 08:59 残城碎梦 阅读(87) 评论(0) 推荐(0) 编辑
摘要:什么是观察者模式 观察者模式(Observer Design Pattern):在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会得到通知并自动更新。 即:也叫发布订阅模式,能够很好的解耦一个对象改变,自动改变另一个对象这种情况。 观察者模式定义 ①、Subject 被观察 阅读全文
posted @ 2022-03-17 08:50 残城碎梦 阅读(78) 评论(0) 推荐(0) 编辑
摘要:什么是享元模式 享元模式(Flyweight Pattern):使用共享对象可以有效地支持大量的细粒度的对象。 即:复用对象,节省内存。 享元模式定义 ①、Flyweight —— 抽象享元角色 是一个产品的抽象类, 同时定义出对象的外部状态和内部状态的接口或实现。 一个对象信息可以分为内部状态和外 阅读全文
posted @ 2022-03-17 08:32 残城碎梦 阅读(174) 评论(0) 推荐(0) 编辑
摘要:什么是组合模式? 组合模式(Composite Pattern):将对象组合成树形结构以表示“部分-整体”的层次结构, 使得用户对单个对象和组合对象的使用具有一致性。 即:用于处理树形结构数据。 组合模式定义 ①、Component 抽象构件角色 定义参加组合对象的共有方法和属性,可以定义一些默认的 阅读全文
posted @ 2022-03-16 23:14 残城碎梦 阅读(110) 评论(0) 推荐(0) 编辑
摘要:什么是门面模式? 门面模式(Facade Pattern):也叫外观模式,要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。 门面模式提供一个高层次的接口,使得子系统更易于使用。 即:假设有一个系统 A,提供了 a、b、c、d 四个接口。系统 B 完成某个业务功能,需要调用 A 系统的 阅读全文
posted @ 2022-03-16 23:03 残城碎梦 阅读(153) 评论(0) 推荐(0) 编辑
摘要:什么是适配器模式? 适配器模式(Adapter Pattern):将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 即:这个模式就是用来做适配的,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。比如现 阅读全文
posted @ 2022-03-16 22:40 残城碎梦 阅读(87) 评论(0) 推荐(0) 编辑
摘要:什么是装饰器模式 装饰器模式(Decorator Pattern):动态的给一个对象添加额外的职责,就增加功能来说, 装饰模式相比生成子类更为灵活。 即:一般的,我们为了扩展一个类经常使用继承方式实现,随着扩展功能的增多,子类会很膨胀。这时候期望在不改变类对象及其类定义的情况下,为对象添加额外功能, 阅读全文
posted @ 2022-03-16 22:22 残城碎梦 阅读(58) 评论(0) 推荐(0) 编辑
摘要:什么是代理模式 Proxy Pattern:为其他对象提供一种代理以控制对这个对象的访问。 即:在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能,比如Spring AOP。 代理模式定义 说明:该图仅为加深对代理模式的了解 ①、Subject 抽象主题角色,可以是抽象类, 阅读全文
posted @ 2022-03-16 08:49 残城碎梦 阅读(59) 评论(0) 推荐(0) 编辑
摘要:什么是原型模式 Prototype Design Pattern:用原型实例指定创建对象的种类, 并且通过拷贝这些原型创建新的对象。 即:对象复制 原型模式的两种实现方法 我们日常开发中,应该有使用过 BeanUtils.copyProperties()方法,其实这就是原型模式的一种用法(浅拷贝)。 阅读全文
posted @ 2022-03-16 08:45 残城碎梦 阅读(104) 评论(0) 推荐(0) 编辑
摘要:什么是建造者模式 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示。 即:将构造复杂对象的过程和组成对象的部件解耦。就像攒电脑一样,不管什么品牌的配件,只要兼容就可以装上;同样,一样的配件,可以有好多组装的方式。更直接点就是同一个类,通过内部不同属性状态构造不同的对象。 建 阅读全文
posted @ 2022-03-16 08:43 残城碎梦 阅读(65) 评论(0) 推荐(0) 编辑
摘要:什么是工厂模式 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 即:提供创建对象的接口,将创建对象的过程屏蔽,从而达到灵活的目的。 工厂模式分类 一般情况下,工厂模式分为三类: ①、简单工厂模式(Simple Factory) ②、工厂方法模式(Fa 阅读全文
posted @ 2022-03-15 22:49 残城碎梦 阅读(189) 评论(0) 推荐(0) 编辑
摘要:什么是单例模式 采取一定的办法保证在整个软件系统中,确保对于某个类只能存在一个实例。单例模式有如下三个特点: ①、单例类只能有一个实例 ②、单例类必须自己创建自己的实例 ③、单例类必须提供外界获取这个实例的方法 单例类的设计思想(Singleton) ①、外界不能创建这个类的实例,那么必须将构造器私 阅读全文
posted @ 2022-03-15 22:20 残城碎梦 阅读(59) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示