随笔分类 -  设计模式

关于设计模式
摘要:合成/聚合复用原则,尽量使用合成/聚合,尽量不要使用类的继承。 聚合表示一种弱的“拥有”关系,体现A对象可以拥有B对象,但B对象不是A的一部分;合成则表示一种强的“拥有”关系,体现了严格的部分与整体的关系,部分与整体的生命周期一样。 合成/聚合复用原则的好处是,优先使用对象的合成/聚合将有助于你保持 阅读全文
posted @ 2020-07-28 09:06 就是你baby 阅读(166) 评论(0) 推荐(0)
摘要:转自:https://www.cnblogs.com/garryfu/p/7976546.html Java设计模式之单例模式详解 在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过。我们总是沿着前辈的足迹去做设定好的思 阅读全文
posted @ 2020-07-27 15:11 就是你baby 阅读(129) 评论(0) 推荐(0)
摘要:当你需要对聚集有多种方式遍历时,可以考虑用迭代器模式。 迭代器模式(Iterator)就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以不暴露集合的内部结构, 又可让外部代码透明的访问集合内部数据 代码示例: 1 /** 2 * Iterator:迭代器抽象类 3 * 用于定义得到开 阅读全文
posted @ 2020-07-27 09:57 就是你baby 阅读(104) 评论(0) 推荐(0)
摘要:需求中是体现部分与整体层次的结构时,以及你希望用户忽略组合对象与单个对象的不同,统一的使用组合结构中的所有对象时, 就应该考虑组合模式了 代码如下: 1 public abstract class Component { 2 protected String name; 3 4 public Com 阅读全文
posted @ 2020-07-24 16:35 就是你baby 阅读(131) 评论(0) 推荐(0)
摘要:Memento模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性的一小部门时, Originator可以根据保存的Memento信息还原到前一状态 代码部分: 1 /** 2 * Originator(发起人):负责创建备忘录Memento,用来记录当前时刻它 阅读全文
posted @ 2020-07-24 09:25 就是你baby 阅读(136) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-07-23 11:14 就是你baby 阅读(116) 评论(0) 推荐(0)
摘要:适配器模式 系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的时使控制范围之外的一个原有的对象与某个接口匹配。 代码如下 1 public interface Target { 2 void Request(); 3 } Target 1 public class Adepter im 阅读全文
posted @ 2020-07-23 11:02 就是你baby 阅读(121) 评论(0) 推荐(0)
摘要:状态模式: 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 当然如果这个判断逻辑很简单,就没必要用“状态模式了” 结构图: State类,抽象状态类,定义一个接口以封装与Context的一个特定状态相 阅读全文
posted @ 2020-07-22 16:19 就是你baby 阅读(149) 评论(0) 推荐(0)
摘要:抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 结构图: 代码如下: 1 public class AbstractFactoryTest { 2 public static void main(String[] args) { 阅读全文
posted @ 2020-07-22 14:24 就是你baby 阅读(150) 评论(0) 推荐(0)
摘要:JAVA观察者模式(转载) 通过本文将学习到 1、前言 2、观察者的概念 3、观察者的UM 4、观察者的实现 5、观察者的优缺点及使用场景 6、总结 1、前言观察者模式可是大名鼎鼎,也许只听观察者不太清楚这是啥啊?但是说一手MVC肯定有人懂。MODEL-VIEW-CONTROLLER。我真的是打死不 阅读全文
posted @ 2020-06-28 10:15 就是你baby 阅读(174) 评论(0) 推荐(0)