设计模式 透彻理解设计模式系列 设计模式,是软件开发绕不开的一个话题。很多优秀的开源项目、框架、中间件,代码量、类的个数都会比较多,类结构、类之间的关系极其复杂,常常调用来调用去。所以,为了保证代码的扩展性、灵活性、可维护性等,代码中会使用到很多设计模式、设计原则或者设计思想。 2019-02-12 浏览(5,342) 评论(1) 阅读全文
设计模式基础(二二)——中介模式 中介模式(Mediator Design Pattern ), 是一种行为型模式。中介模式定义了一个单独的(中介)对象,来封装一组对象之间的交互,将这组对象之间的交互委派给中介对象,避免对象之间的直接交互。 2019-03-20 浏览(3,066) 评论(0) 阅读全文
设计模式基础(二一)——解释器模式 解释器模式(Interpreter Design Pattern ), 是一种行为型模式。解释器模式用来描述如何构建一个简单的“语言”解释器,只在一些特定的领域才会被用到,比如编译器、规则引擎、正则表达式。 2019-03-19 浏览(2,704) 评论(0) 阅读全文
设计模式基础(二十)——命令模式 命令模式(Command Design Pattern ), 是一种行为型模式。命令模式将请求(命令)封装为一个对象,这样可以使用不同的请求参数化其他对象(将不同请求依赖注入到其他对象),并且能够支持请求(命令)的排队执行、记录日志、撤销等(附加控制)功能。 2019-03-18 浏览(2,070) 评论(0) 阅读全文
设计模式基础(十九)——备忘录模式 备忘录模式(Memento Design Pattern ), 也叫快照模式,是一种行为型模式。 这个模式理解、掌握起来不难,代码实现比较灵活,应用场景也比较明确和有限,主要是用来防丢失、撤销、恢复等。 2019-03-17 浏览(3,150) 评论(0) 阅读全文
设计模式基础(十八)——访问者模式 访问者模式(Visitor Design Pattern ),是一种行为型模式。 它是 23 种经典设计模式中最难理解的几个之一。因为它难理解、难实现,应用它会导致代码的可读性、可维护性变差,所以访问者模式在实际的软件开发中很少被用到,在没有特别必要的情况下,建议你不要使用访问者模式。 2019-03-16 浏览(2,297) 评论(0) 阅读全文
设计模式基础(十七)——迭代器模式 迭代器模式(Iterator Design Pattern ),也叫做游标模式,是一种行为型模式。 迭代器模式用来遍历集合对象。这里说的“集合对象”也可以叫“容器”“聚合对象”,实际上就是包含一组对象的对象,比如数组、链表、树、图、跳表。迭代器模式将集合对象的遍历操作从集合类中拆分出来,放到迭代器类中,让两者的职责更加单一。 2019-03-15 浏览(2,210) 评论(0) 阅读全文
设计模式基础(十六)——状态模式 状态模式(State Design Pattern ),是一种行为型模式。 状态模式在实际中并不常用,一般用来实现状态机,而状态机常用在游戏、工作流引擎等系统开发中。不过,状态机的实现方式有多种,除了状态模式,比较常用的还有分支逻辑法和查表法。 2019-03-14 浏览(3,373) 评论(0) 阅读全文
设计模式基础(十五)——职责链模式 职责链模式(Chain Of Responsibility Design Pattern ),是一种行为型模式。 它将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求,将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止。 2019-03-13 浏览(1,329) 评论(0) 阅读全文
设计模式基础(十四)——策略模式 策略模式(Strategy Design Pattern),是一种行为型模式。 它定义了一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端(这里的客户端代指使用算法的代码)。 我们可以利用策略模式来避免冗长的 if-else 或 switch 分支判断, 也可以像模板模式那样,提供框架的扩展点。 2019-03-12 浏览(1,678) 评论(0) 阅读全文