
设计模式
「已注销」
学生
展开
-
工厂模式讲解, 引入Spring IOC
文章目录引入简单工厂抽象工厂Spring的bean工厂模拟Spring工厂实现模拟IOC 引入 假设有一个司机, 需要到某个城市, 于是我们给他一辆汽车 public class Demo { public static void main(String[] args) { Car car = new Car(); car.run(); } } ...原创 2019-04-25 20:15:34 · 309 阅读 · 0 评论 -
为什么会有Comparable与Comparator接口? 引入策略模式
文章目录引入Comparable接口的来龙去脉引入Comparator接口什么是策略模式?使用了策略模式有什么好处? 引入 大家先考虑一个场景, 有一个整形数组, 我们希望通过调用一个工具类的排序方法就能对该数组进行排序. 请看下面的代码: public class Strategy { public static void main(String[] args) { ...原创 2019-04-22 21:12:02 · 161 阅读 · 0 评论 -
Observer观察者模式与OCP开放-封闭原则
文章目录场景引入在联网坦克项目中使用观察者模式总结 在学习Observer观察者模式时发现它符合敏捷开发中的OCP开放-封闭原则, 本文通过一个场景从差的设计开始, 逐步向Observer模式迈进, 最后的代码能体现出OCP原则带来的好处, 最后分享Observer模式在自己的项目中的实现. 场景引入 在一户人家中, 小孩在睡觉, 小孩睡醒后需要吃东西. 分析上述场景, 小孩在睡觉, 小孩醒...原创 2019-04-19 19:18:42 · 197 阅读 · 0 评论 -
通过模拟JDK中的动态代理,由浅入深讲解动态代理思想.
文章目录场景引入动态代理引入动态代理进阶总结 个人认为动态代理在设计模式中算是比较难的, 本篇文章将从无到有, 从一个简单代码示例开始迭代, 逐步深入讲解动态代理思想. 场景引入 假设现在有一个坦克类, 它实现了Moveable接口, 里面有一个move()移动的方法. 代码如下: class Tank implements Moveable{ @Override publ...原创 2019-04-24 22:21:46 · 118 阅读 · 0 评论 -
由浅入深讲解责任链模式,理解Tomcat的Filter过滤器
本文将从简单的场景引入, 逐步优化, 最后给出具体的责任链设计模式实现. 场景引入 首先我们考虑这样一个场景: 论坛上用户要发帖子, 但是用户的想法是丰富多变的, 他们可能正常地发帖, 可能会在网页中浅入html代码, 可能会使用错误的表情格式, 也可能发送一些敏感信息. 作为论坛的管理员必须对用户的帖子进行过滤才能显示出来, 否则论坛就经营不下去了. 现在我们考虑一种最简单处理方式. p...原创 2019-04-20 15:54:30 · 743 阅读 · 1 评论