随笔分类 -  DesignPattern

摘要:一、职责链模式介绍 二、职责链模式引入 需求: UML类图: 代码实现(Java): //请求类 public class PurchaseRequest { private int type = 0; //请求类型 private float price = 0.0f; //请求金额 privat 阅读全文
posted @ 2021-07-26 00:17 狂热搬砖家 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一、策略模式介绍 二、策略模式引入 需求: UML类图: 代码实现(Java): public interface FlyBehavior { void fly(); // 子类具体实现 } public class NoFlyBehavior implements FlyBehavior{ @Ov 阅读全文
posted @ 2021-07-25 23:25 狂热搬砖家 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一、状态模式介绍 二、状态模式引入 需求: UML类图: 代码实现(Java): /** * 状态抽象类 */ public abstract class State { // 扣除积分 - 50 public abstract void deductMoney(); // 是否抽中奖品 publi 阅读全文
posted @ 2021-07-25 22:25 狂热搬砖家 阅读(40) 评论(0) 推荐(0) 编辑
摘要:一、解释器模式介绍 二、解释器模式引入 需求: UML类图: 代码实现(Java): import java.util.HashMap; /** * 抽象类表达式,通过HashMap 键值对, 可以获取到变量的值 */ public abstract class Expression { // a 阅读全文
posted @ 2021-07-24 18:18 狂热搬砖家 阅读(30) 评论(0) 推荐(0) 编辑
摘要:一、备忘录模式介绍 二、备忘录模式引入 需求: UML类图: 代码实现(Java): public class Memento { //攻击力 private int vit; //防御力 private int def; public Memento(int vit, int def) { sup 阅读全文
posted @ 2021-07-20 22:06 狂热搬砖家 阅读(41) 评论(0) 推荐(0) 编辑
摘要:一、中介者模式介绍 二、中介者模式引入 需求: UML类图: 代码实现(Java): //同事抽象类 public abstract class Colleague { private Mediator mediator; public String name; public Colleague(M 阅读全文
posted @ 2021-07-19 23:15 狂热搬砖家 阅读(38) 评论(0) 推荐(0) 编辑
摘要:一、观察者模式介绍 核心:观察者模式主要用于1:N的通知。当一个对象(目标对象Subject或Objservable)的状态变化时,他需要及时告知一系列对象(观察者对象,Observer),令他们做出响应。 二、观察者模式引入 需求: UML类图: 代码实现(Java): //观察者接口,由观察者来 阅读全文
posted @ 2021-07-18 22:00 狂热搬砖家 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一、迭代器模式介绍 二、迭代器模式引入 需求: UML类图: 代码实现(Java): import java.util.function.Consumer; /** * An iterator over a collection. {@code Iterator} takes the place o 阅读全文
posted @ 2021-07-13 00:13 狂热搬砖家 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一、访问者模式介绍 二、访问者模式引入 需求: UML类图: 代码实现(Java): public abstract class Action { //得到男性 的测评 public abstract void getManResult(Man man); //得到女的 测评 public abst 阅读全文
posted @ 2021-07-08 20:28 狂热搬砖家 阅读(34) 评论(0) 推荐(0) 编辑
摘要:一、命令模式介绍 二、命令模式引入 需求: UML类图: 代码实现(Java): //创建命令接口 public interface Command { //执行动作(操作) public void execute(); //撤销动作(操作) public void undo(); } public 阅读全文
posted @ 2021-07-07 23:08 狂热搬砖家 阅读(34) 评论(0) 推荐(0) 编辑
摘要:一、模板模式介绍 二、模板模式引入 UML类图: 代码实现(Java): //抽象类,表示豆浆 public abstract class SoyaMilk { //模板方法, make , 模板方法可以做成final , 不让子类去覆盖. final void make() { select(); 阅读全文
posted @ 2021-07-07 21:45 狂热搬砖家 阅读(37) 评论(0) 推荐(0) 编辑
摘要:一、代理模式介绍 二、代理模式引入 1.静态代理 代码实现(Java): //接口 public interface ITeacherDao { void teach(); // 授课的方法 } public class TeacherDao implements ITeacherDao { @Ov 阅读全文
posted @ 2021-07-07 20:29 狂热搬砖家 阅读(36) 评论(0) 推荐(0) 编辑
摘要:一、享元模式介绍 二、享元模式引入 需求: 传统方式: 享元模式: 代码实现(Java): public class User { private String name; public User(String name) { super(); this.name = name; } public 阅读全文
posted @ 2021-07-06 22:21 狂热搬砖家 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一、外观模式介绍 二、外观模式引入 需求: 传统方式: 外观模式: UML类图: 代码实现(Java): //剧场 public class TheaterLight { private static TheaterLight instance = new TheaterLight(); publi 阅读全文
posted @ 2021-07-06 19:14 狂热搬砖家 阅读(36) 评论(0) 推荐(0) 编辑
摘要:一、组合模式介绍 二、组合模式引入 需求: UML类图: 代码实现(Java): public abstract class OrganizationComponent { private String name; // 名字 private String des; // 说明 protected 阅读全文
posted @ 2021-07-04 21:02 狂热搬砖家 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一、装饰者模式介绍 二、装饰者模式引入 需求: 代码实现(Java): public abstract class Drink { public String des; // 描述 private float price = 0.0f; public String getDes() { return 阅读全文
posted @ 2021-07-04 20:06 狂热搬砖家 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一、桥接模式介绍 二、桥接模式引入 需求: 传统方案: 桥接模式: 代码实现(Java): //接口 public interface Brand { void open(); void close(); void call(); } public class Vivo implements Bra 阅读全文
posted @ 2021-07-04 18:30 狂热搬砖家 阅读(43) 评论(0) 推荐(0) 编辑

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