随笔分类 -  设计模式

摘要:引入 假设有一个司机, 需要到某个城市, 于是我们给他一辆汽车 public class Demo { public static void main(String[] args) { Car car = new Car(); car.run(); } } public class Car { pu 阅读全文
posted @ 2019-04-25 20:10 胡涂阿菌 阅读(1303) 评论(0) 推荐(5) 编辑
摘要:个人认为动态代理在设计模式中算是比较难的, 本篇文章将从无到有, 从一个简单代码示例开始迭代, 逐步深入讲解动态代理思想. 场景引入 假设现在有一个坦克类, 它实现了Moveable接口, 里面有一个move()移动的方法. 代码如下: class Tank implements Moveable{ 阅读全文
posted @ 2019-04-24 22:17 胡涂阿菌 阅读(678) 评论(0) 推荐(2) 编辑
摘要:引入 大家先考虑一个场景, 有一个整形数组, 我们希望通过调用一个工具类的排序方法就能对该数组进行排序. 请看下面的代码: public class Strategy { public static void main(String[] args) { int[] arr = {5, 3, 1, 7 阅读全文
posted @ 2019-04-22 21:07 胡涂阿菌 阅读(1262) 评论(0) 推荐(3) 编辑
摘要:本文将从简单的场景引入, 逐步优化, 最后给出具体的责任链设计模式实现。 场景引入 首先我们考虑这样一个场景: 论坛上用户要发帖子, 但是用户的想法是丰富多变的, 他们可能正常地发帖, 可能会在网页中浅入html代码, 可能会使用错误的表情格式, 也可能发送一些敏感信息. 作为论坛的管理员必须对用户 阅读全文
posted @ 2019-04-20 15:39 胡涂阿菌 阅读(4876) 评论(7) 推荐(12) 编辑
摘要:在学习Observer观察者模式时发现它符合敏捷开发中的OCP开放-封闭原则, 本文通过一个场景从差的设计开始, 逐步向Observer模式迈进, 最后的代码能体现出OCP原则带来的好处, 最后分享Observer模式在自己的项目中的实现. 场景引入 在一户人家中, 小孩在睡觉, 小孩睡醒后需要吃东 阅读全文
posted @ 2019-04-19 17:38 胡涂阿菌 阅读(716) 评论(0) 推荐(0) 编辑

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