随笔分类 - 设计模式
一点点积累
摘要:什么是适配器模式 网上已有很多的教程,不细讲了。可以参考:[五分钟了解设计模式(3) 适配器模式]( https://www.cnblogs.com/kubidemanong/p/9609856.html) 在适配器模式中,一定要识别清楚,Target Adaptee Adapter分别是哪些类或接
阅读全文
摘要:备忘录模式是在不破坏封装的原则下,捕获一个对象的状态,在对象之外保存这个状态,在必要时恢复到这个状态。 应用场景主要是将状态恢复到之前,例如Ctrl+Z的恢复,游戏从存档重新开始,JDBC事务控制。 备忘录模式的主要角色有三个: Originator,发起人,职责是发起一次存档,将自身的状态存放到M
阅读全文
摘要:在实际的开发过程中,我们经常会遇到对于不同的对象采用不同的算法或者策略的场景。 一个真实的例子是这样的: 假设现在要将一个Student对象存入数据库。在逻辑层,需要对对象的字段进行合法性判断,比如ID是否超过某个阈值,名字长度是否超长。 1. if else分支方法 最常见的做法,是将参数的类型进
阅读全文
摘要:建造者模式和工厂模式有点类似。所以建议复习一下工厂模式的文章 工厂模式小结 1. 适用场景 建造者模式,跟工厂模式一样,对客户端屏蔽了产品实现的细节,对外只呈现一个最终的产品。 与工厂模式不太一样的是: 1). 该产品相对于工厂模式的产品更为复杂,通常是由好几个模块组装而成; 2). 模块的生成顺序
阅读全文
摘要:工厂模式是23种设计模式中比较基础的一种,其目的是隐藏了创建对象的细节,客户端与具体的实现类解耦,令客户端能够面向接口编程。 从简单到复杂的场景,一共有三种模式。下面拿最常见的球衣作为例子讲解一下,如有不正确的地方请指正,图片和部分语言摘自网络,侵删。 假设现在有一个球衣的抽象类,有两个实现类,一个
阅读全文
摘要:最近在工作中遇到这么一个场景:需要根据配置文件,动态地生成一个Excel模板。模板有首页,内容页,链接页等几个页签。 工头,哦不,老大指导可以使用装饰器模式,于是我就学习了一下,就有这篇文章。 初涉设计模式,请大牛们鞭挞。 1. 什么是装饰器模式 装饰模式能够实现动态的为对象添加功能,是从一个对象外
阅读全文