Design Pattern
文章平均质量分 68
design pattern
tobebetter9527
这个作者很懒,什么都没留下…
展开
-
21-外观模式-结构模式
文章目录1. 定义2. 应用参考:大话设计模式1. 定义外观模式(Facade), 也叫门面模式,为子系统的一组接口提供一个统一的界面,此模式定义了一个高层接口,使得使用子系统变得容易。public class SubSystemOne { public void methodOne() { System.out.println("SubSystemOne methodOne"); }}public class SubSystemTwo { public原创 2020-07-11 16:55:00 · 147 阅读 · 0 评论 -
20-装饰模式-结构模式
文章目录1. 定义2.应用2.1 优点2.2 缺点2.3 场景参考:设计模式之禅装饰模式:https://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/decorator.html1. 定义装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。Component抽象构建,一个接口或一个抽象类。最核心原创 2020-07-08 23:30:05 · 135 阅读 · 0 评论 -
19-组合模式-结构模式
文章目录1. 组合模式结构2. 应用场景3. 优缺点4. 参考资料1. 组合模式结构2. 应用场景如果你需要实现树状对象结构, 可以使用组合模式。组合模式为你提供了两种共享公共接口的基本元素类型: 简单叶节点和复杂容器。 容器中可以包含叶节点和其他容器。 这使得你可以构建树状嵌套递归对象结构。如果你希望客户端代码以相同方式处理简单和复杂元素, 可以使用该模式。组合模式中定义的所有元素共用同一个接口。 在这一接口的帮助下, 客户端不必在意其所使用的对象的具体类。3. 优缺点4. 参原创 2021-07-25 16:51:38 · 129 阅读 · 0 评论 -
18-深入理解代理模式,jdk代理模式,cglib代理模式
文章目录1. 目的2. 类图3. 应用场景4. 优缺点1. 目的代理模式是一种结构型设计模式, 让你能够提供对象的替代品或其占位符。 代理控制着对于原对象的访问, 并允许在将请求提交给对象前后进行一些处理。2. 类图3. 应用场景延迟初始化访问控制记录日志事务处理4. 优缺点...原创 2021-07-31 23:35:59 · 324 阅读 · 1 评论 -
18 - 代理模式 - 结构模式
文章目录1. 例子参考:设计模式之禅1. 例子public interface IGamePlayer { void login(String username,String password); void killBoss(); void upgrade();}public class GamePlayer implements IGamePlayer { private String username; public GamePlayer(Str原创 2020-07-05 10:53:46 · 225 阅读 · 0 评论 -
17-享元模式-结构模式
文章目录1. 意图2. 结构3. 应用场景4. 优缺点5. 例子:6. 参考资料1. 意图享元模式,简单理解为:共享元素。是一种结构型设计模式, 它摒弃了在每个对象中保存所有数据的方式, 通过共享多个对象所共有的相同状态, 让你能在有限的内存容量中载入更多对象。享元对象具有不可变性,其状态不能被修改。2. 结构3. 应用场景仅在程序必须支持大量对象且没有足够的内存容量时使用享元模式。应用该模式所获的收益大小取决于使用它的方式和情景。 它在下列情况中最有效:程序需要生成数量巨大的相原创 2021-07-25 20:22:03 · 94 阅读 · 0 评论 -
12 -模板方法模式 - 行为模式
文章目录1.例子2. 定义3. 应用3.1 优点3.2 缺点3.3 场景4. 扩展1.例子public abstract class HummerModel { public abstract void start(); public abstract void stop(); public abstract void engineBoom(); public abstract void alarm(); public void run() {原创 2020-07-04 17:59:26 · 122 阅读 · 0 评论 -
11-策略模式-行为模式
文章目录1. 定义参考:大话设计模式1. 定义策略模式(strategy),定义算法家族,分别封装,让算法之家可以互相替换,算法的变化不会影响到使用算法的客户。在这里插入图片描述原创 2020-07-09 22:19:41 · 149 阅读 · 0 评论 -
10-状态模式-行为模式
文章目录1. 例子2.定义参考:设计模式之禅1. 例子public abstract class LiftState { // 环境角色,封装状态变化引起的功能变化 protected Context context; public void setContext(Context context) { this.context = context; } public abstract void open(); public abstr原创 2020-07-12 10:55:59 · 112 阅读 · 0 评论 -
9-观察者模式-行为模式
文章目录1. 定义参考:大话设计模式1. 定义又叫发布订阅模式,定义了一对多的依赖关系,让多个对象同时监听一个主题对象,当主题对象在状态发生变化时,会通知所有观察者对象,使它们能够更新自己。public abstract class Subject { private List<Observer> observers = new ArrayList<>(); public void attach(Observer observer) { t原创 2020-07-11 23:23:25 · 118 阅读 · 0 评论 -
8 - 命令模式 - 行为模式
文章目录1. 例子2. 定义参考:设计模式之禅1. 例子public interface Group { void find(); void add(); void delete(); void change(); void plan();}public class PageGroup implements Group { @Override public void find() { System.out.println("原创 2020-07-06 23:54:05 · 228 阅读 · 0 评论 -
7 - 责任链模式-行为模式
文章目录1. 定义参考:设计模式之禅1. 定义多个对象连成一个链,沿着链传递请求,直到有对象处理为止。原创 2020-07-07 23:00:31 · 137 阅读 · 0 评论 -
6-原型模式-创建模式
文章目录1. 例子2. 定义3. 应用3.1 优点3.2 使用场景4.注意事项4.1 构造函数不会被执行参考:设计模式之禅1. 例子public class Mail implements Cloneable { private String receiver; private String subject; private String appellation; private String context; private String tail;原创 2020-07-05 23:17:44 · 126 阅读 · 0 评论 -
5-建造者模式-创建模式
文章目录1.定义参考:大话设计模式1.定义Builder,将一个复杂对象的构建和它的表示分开,使得同样的构建过程可以不同的表示。public class Product { // 模拟产品部件 private List<String> parts = new ArrayList<>(); public void add(String part) { this.parts.add(part); } public vo原创 2020-07-11 17:58:39 · 140 阅读 · 0 评论 -
4 - 抽象工厂模式-创建模式
文章目录1. 例子参考:设计模式之禅1. 例子原创 2020-06-29 23:36:54 · 531 阅读 · 0 评论 -
3-工厂模式 - 创建型模式
文章目录1. 例子参考:设计模式之禅1. 例子人类接口:public interface Human { void getColor(); void talk();}各个人种:public class YellowHuman implements Human { @Override public void getColor() { System.out.println("YellowHuman is yellow"); }原创 2020-06-28 23:02:38 · 159 阅读 · 0 评论 -
2-单例模式 - 创建型模式
文章目录参考:设计模式之禅原创 2020-06-27 22:30:20 · 135 阅读 · 0 评论 -
1-六大设计原则
文章目录1.单一职责原则1.单一职责原则定义英文名称:single responsibility principle,简称srp。有且仅有一个原因引起类的变更。There should never be more than one reason for a class to change。好处类的复杂性降低,提高可读性,可维护性,类的变更风险降低,对于系统的可扩展性、可维护性有很大帮助。最佳实践接口和方法的设计需要符合单一职责原则,类的设计尽量靠近单一职责原则。...原创 2020-06-27 11:25:26 · 188 阅读 · 0 评论 -
0-UML类图案例
参考:大话设计模式原创 2020-07-09 22:19:14 · 224 阅读 · 1 评论