![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DesignPattern
JAVA设计模式相关内容
蒋含竹
非淡泊无以明志,非宁静无以致远。
展开
-
设计模式——备忘录模式(Memento)
文章目录备忘录设计模式(看视频做记录示例)0. UML结构图1. 看视频做记录示例 Code1.1 视频1.2 视频备份1.3 视频备份维护的负责人2. 看视频做记录示例 Test代码:GitHub备忘录设计模式(看视频做记录示例)0. UML结构图1. 看视频做记录示例 Code1.1 视频public class Video { private Strin...原创 2019-02-18 00:50:59 · 204 阅读 · 0 评论 -
设计模式——状态模式(State)
文章目录状态设计模式(酒店入住示例)0. UML结构图1. 酒店入住示例 Code1.1 房间状态接口1.2 房间空闲状态1.3 房间已预定状态1.4 房间已入住状态1.5 房间上下文 - 状态处理2. 酒店入住示例 Test代码:GitHub状态设计模式(酒店入住示例)0. UML结构图1. 酒店入住示例 Code1.1 房间状态接口public interface ...原创 2019-02-18 00:08:12 · 445 阅读 · 2 评论 -
设计模式——观察者模式(Observer)
文章目录观察者设计模式(事件触发驱动示例)0. UML结构图1. 事件触发驱动示例 Code1.1 观察者接口1.2 命令接口2. 事件触发驱动示例 Test代码:GitHub原创 2019-02-17 23:37:36 · 176 阅读 · 0 评论 -
设计模式——模板方法模式(TemplateMethod)
文章目录模板方法设计模式(取餐馆吃饭示例)0. UML结构图1. 取餐馆吃饭示例 Code1.1 模板 - 餐馆抽象类1.2 面食餐馆1.3 海鲜餐馆1.4 火锅餐馆2. 取餐馆吃饭示例 Test代码:GitHub模板方法设计模式(取餐馆吃饭示例)0. UML结构图1. 取餐馆吃饭示例 Code1.1 模板 - 餐馆抽象类public abstract class Re...原创 2019-02-17 23:13:18 · 223 阅读 · 0 评论 -
设计模式——策略模式(Strategy)
文章目录策略设计模式(风景区购票示例)0. UML结构图1. 风景区购票示例 Code1.1 价格策略接口1.2 针对婴儿的价格策略1.3 针对小孩的价格策略1.4 针对成年人的价格策略1.5 上下文 调用具体的策略2. 风景区购票示例 Test代码:GitHub策略设计模式(风景区购票示例)0. UML结构图1. 风景区购票示例 Code1.1 价格策略接口publi...原创 2019-02-17 22:34:52 · 169 阅读 · 0 评论 -
设计模式——命令模式(Command)
文章目录命令设计模式(发送命令示例)0. UML结构图1. 发送命令示例 Code1.1 命令执行者1.2 命令接口1.3 命令实现类1.4 命令调用者2. 发送命令示例 Test代码:GitHub命令设计模式(发送命令示例)0. UML结构图1. 发送命令示例 Code1.1 命令执行者public class Receiver { private int ...原创 2019-02-17 18:15:55 · 188 阅读 · 0 评论 -
设计模式——中介者模式(Mediator)
文章目录中介者设计模式(公司部门打交道示例)0. UML结构图1. 公司部门 Code1.1 部门接口1.2 部门基类1.3 研发部1.4 市场部1.5 财务部2. 公司总经理(中介)Code2.1 中介接口2.2 总经理3. 公司部门打交道示例 Test代码:GitHub中介者设计模式(公司部门打交道示例)0. UML结构图1. 公司部门 Code1.1 部门接口pu...原创 2019-02-17 17:38:58 · 188 阅读 · 0 评论 -
设计模式——迭代器模式(Iterator)
文章目录迭代器设计模式(商品迭代示例)0. UML结构图1. 商品迭代示例Code1.1 迭代器接口1.2 商品聚合类与内部类商品迭代器2. 商品迭代示例Test代码:GitHub迭代器设计模式(商品迭代示例)0. UML结构图1. 商品迭代示例Code1.1 迭代器接口public interface MyIterator { /** * 将游标指...原创 2019-02-17 16:31:08 · 366 阅读 · 0 评论 -
设计模式——责任链模式(Chian Of Responsiblity)
文章目录责任链设计模式(公司请假示例)0. UML结构图1. 休假请求Code2. 责任对象Code2.1 领导的抽象类2.2 责任链第一个对象 - 主任2.3 责任链第二个对象 - 经理2.4 责任链第三个对象 - 总经理3. 公司请假示例Test代码:GitHub责任链设计模式(公司请假示例)0. UML结构图1. 休假请求Codepublic class Leave...原创 2019-02-17 15:38:27 · 258 阅读 · 0 评论 -
设计模式——享元模式(FlyWeight)
文章目录享元设计模式(卡牌示例)0. UML结构图1. 卡牌享元示例Code1.1 卡牌接口1.2 卡牌实现类 - 内部状态1.3 卡牌画面 - 外部状态1.4 卡牌工厂 - 享元工厂2. 卡牌享元示例Test代码:GitHub享元设计模式(卡牌示例)0. UML结构图1. 卡牌享元示例Code1.1 卡牌接口public interface FlyWeight {...原创 2019-02-16 01:07:51 · 206 阅读 · 0 评论 -
设计模式——外观设计模式(Facade)(门面模式)
文章目录外观设计模式(购房示例)0. UML结构图1. 购房示例Code1.1 卖家1.2 银行1.3 税务局1.4 房地产经纪人2. 购房示例Test代码:GitHub外观设计模式(购房示例)0. UML结构图1. 购房示例Code1.1 卖家人 - 接口public interface Person { void consult();}卖家...原创 2019-02-15 23:39:40 · 242 阅读 · 0 评论 -
设计模式——装饰模式(Decorator)
文章目录0. UML结构图1. 装饰人走路的示例代码1.1 走的接口1.2 人1.3 装饰器 - 特殊的人1.4 具体的装饰对象 - 运动员1.5 具体的装饰对象 - 超人2. 装饰器Test代码:GitHub0. UML结构图1. 装饰人走路的示例代码1.1 走的接口public interface Go { void go();}1.2 人publ...原创 2019-02-14 23:45:45 · 159 阅读 · 0 评论 -
设计模式——组合模式(Composite)
文章目录1. 基础接口1.1 抽象组件1.2 容器节点1.3 叶子节点2. 组合模式实现文件删除2.1 文本文件2.2 图像文件2.3 视频文件2.4 目录3. 文件删除Test代码:GitHub1. 基础接口1.1 抽象组件public interface Component { void delete();}1.2 容器节点public interfa...原创 2019-02-14 01:32:42 · 227 阅读 · 0 评论 -
设计模式——桥接设计模式(Bridge)
文章目录1.品牌1.1 品牌接口1.2 格力1.3 美的2. 设备2.1 设备基类(用于桥接品牌)2.2 空调2.3 冰箱2.4 电风扇3. 桥接模式调用Test代码:GitHub1.品牌1.1 品牌接口public interface Brand { String name();}1.2 格力public class Gree implements Br...原创 2019-02-13 23:58:38 · 240 阅读 · 0 评论 -
设计模式——代理模式(Proxy)(静态代理、动态代理)
文章目录代理设计模式(歌手+经纪人)通用Code静态代理CodeTest动态代理(JDK自带动态代理)CodeTest动态代理(字节码操作)代码:GitHub代理设计模式(歌手+经纪人)通用Code工作内容的接口/** * 工作内容的接口 * * @author ALion * @version 2019/1/30 21:16 */public interf...原创 2019-01-30 22:34:36 · 230 阅读 · 1 评论 -
设计模式——适配器模式(Adapter)
文章目录适配器设计模式(笔记本+电源+插座)Code示例笔记本电源插座电源适配器电源接口Test示例代码:GitHub适配器设计模式(笔记本+电源+插座)Code示例笔记本/** * 笔记本电脑 * * @author ALion * @version 2019/1/29 22:31 */public class Laptop { /** 电流 */...原创 2019-01-29 23:18:37 · 184 阅读 · 0 评论 -
设计模式——原型模式(Prototype)(浅克隆、深克隆)
文章目录原型设计模式,克隆一个苹果Code 克隆用的Apple类苹果基类可克隆的苹果(用于浅克隆)可克隆的苹果(用于深克隆)可序列化的苹果(用于深克隆)家庭作业类(用于测试原型模式性能)克隆Test浅克隆测试深克隆测试序列化、反序列化的方式实现深克隆 测试原型模式的性能测试代码:GitHub原型设计模式,克隆一个苹果Code 克隆用的Apple类苹果基类import jav...原创 2019-01-29 00:04:24 · 687 阅读 · 0 评论 -
设计模式——建造者模式(Builder)
文章目录建造者设计模式构建一本书籍,Code展示书籍建造者Test代码:GitHub建造者设计模式构建一本书籍,Code展示文章类public class Article { /** 文章类型 */ private String type; /** 文章内容 */ private String content; public...原创 2019-01-27 21:16:32 · 147 阅读 · 0 评论 -
设计模式——工厂模式(Factory)(简单工厂、方法工厂、抽象工厂)
文章目录简单工厂、方法工厂通用Code简单工厂Code-工厂Test方法工厂Code-工厂Test抽象工厂Code-手机基础组件类Code-工厂Test简单工厂、方法工厂通用Code手机接口public interface Phone { void call();}华为手机public class Huawei implements Phone { @O...原创 2019-01-26 02:26:21 · 355 阅读 · 0 评论 -
设计模式——单例模式(Singleton),以及防破解
四种安全的单例示例单例-饿汉式/** * 单例-饿汉式 * * @author ALion * @version 2019/1/25 21:22 */public class SingletonDemo01 { // 类初始化,立即加载这个对象,天然线程安全,不过无法延时加载 private static SingletonDemo01 instance = ne...原创 2019-01-25 23:11:14 · 2389 阅读 · 0 评论 -
Java——更巧妙的2种单例模式
Java——更巧妙的2种单例模式传统的单例模式饿汉模式public class Singleton { private static Singleton mInstance = new Singleton(); public static Singleton getInstance() { return mInstance; }...原创 2017-11-08 19:43:40 · 387 阅读 · 0 评论