随笔分类 - Design pattern
摘要:1. 背景 最近在做数据库(MySQL)方面的升级改造。现状是数据库同时被多个应用直连,存在了一些问题: 1. 有大量的重复代码,维护成本较高,也不优雅; 2. 出现SQL语句质量的问题无法很快定位到是哪个应用导致的; 3. 数据库调用方过于分散,不便于统一控制,比如部分业务数据的读写、屏蔽等; 4
阅读全文
摘要:最近在撸 Netty 源码,发现了一些模式,顺手做个笔记。 分析版本是4.0 1. 构造器模式 ServerBootstrap 和 Bootstrap 的构建 2. 责任链设计模式 pipeline 上事件的传播 3. 工厂模式 Channel 的实例化过程 4. 对象池 对线程池的应用,ByteB
阅读全文
摘要:截止到今天终于把23种GoF设计模式和部分未收录在内的模式实现了一遍,设计模式的学习就告一段落了,在以后的时间如果有新的感悟会定期维护相应的博文。 时间跨度为2014 07 01到2015 10 11,经历了一年多的时间。从畏惧模式到理解模式再到真正懂得模式,这个过程的确是无法言传的体验。虽然经历...
阅读全文
摘要:介绍 组合(COMPOSITE)模式 属于对象结构型模式。将对象组合成树结构以表示“部分 整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。(摘自《GoF设计模式》) 个人见解
我能想到的就是树形菜单的应用,层次关系,只有树形了。。。 UML结构图 ...
阅读全文
摘要:动机 桥接(BRIDGE)模式 也叫HANDLE/BODY模式,属于对象结构型模式。将抽象部分与实现部分分离,使他们都可以独立的变化。(摘自《GoF设计模式》) 个人见解
我理解的桥接模式就是把存在继承关系的结构中的变化的部分进行封装传入。 UML结构图: 场景模拟:今天学什么...
阅读全文
摘要:背景
最近做了一个需求,为了控制数据库连接数,自己写了个简易的数据库连接池。跟F哥聊天的时候提到了,说可以搞个通用的对象连接池,So…… 目的
1. 让对象池相关的需求开发起来更便捷,不用依赖apache的common包;
2. 讨论了简易数据库连接池的缺点,想弥补并通用;
3. 造个轮子感受...
阅读全文
摘要:动机 解释器(INTERPRETER)模式 ,属于类行为型模式。给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。(摘自《GoF设计模式》) 个人见解
自己创造编程语言或者DSL的时候能用到,除此之外,个人认为基本没有什么场景。存在的目的就是为了...
阅读全文
摘要:## 设计模式学习笔记十八:中介者模式### 介绍中介者(MEDIATOR)模式属于对象行为型模式。主要目的是将对象间复杂的调用关系进行解耦。使所有的对象都通过这个中介者进行交互。### 优点+ 对象解耦,提供了复用性;+ 简化了单个对象的交互逻辑;### 缺点+ 中介者业务性太强,黑箱子的雏形。#...
阅读全文
摘要:### 介绍迭代器设计模式: 迭代器提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。### 适用性+ 达到了数据结构与操作的分离+ 访问一个集合对象而无需暴露它的内部表示+ 支持对集合对象的多种遍历+ 为遍历不同的集合结构提供一个统一的接口### UML结构图:![Iterat...
阅读全文
摘要:### 介绍**命令模式**,Command模式,属于对象行为模式。将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤消的操作。### UML结构图:![Command](http://images0.cnblogs.com/blog2015/84797/20...
阅读全文
摘要:介绍适配器(ADPATER)模式,也叫包装器(WRAPPER)模式,属于类对象结构型模式。是为了在现有功能类的基础上为客户提供匹配的接口。适配器有两种方式:对象适配器模式和类适配器模式,本文主要讲前者,后者会有单独的说明,因为个人不是很喜欢这种方式的调用。意图:将一个类的接口转换成客户希望的另外一个...
阅读全文
摘要:设计模式学习笔记十三:模板方法模式介绍模板方法(TEMPLATE METHOD)模式,属于类行为型模式, 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TEMPLATE METHOD使得子类 可以不改变一个算法的结构即可重定义该算法的某些特定步骤。(本段摘自《GoF设计模式》 5.10...
阅读全文
摘要:设计模式学习笔记十二:访问者模式介绍访问者(visitor)模式,属于对象行为型模式,它实现了结构与行为的解耦。 意图:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。(本段摘自《GoF设计模式》 5.11)适用场景访问者模式适合对象的结构稳...
阅读全文
摘要:设计模式学习笔记十一:观察者模式介绍观察者(observer)模式也叫发布-订阅模式,实现了观察者和被观察者的解耦操作,观察者可以根据自身需求选择关注哪些主题和取消关注哪些主题,当主题发生变化的时候会轮询通知观察者,所以主题和观察者之间是一对多的关系。典型应用MQAWT事件监听NIO多路复用……UM...
阅读全文
摘要:构造器(Builder)模式,也叫生成器模式,属于创建型模式之一。GoF设计模式一书描述此模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用场景:创建复杂对象,并且该对象的算法可以独立出来进行复用,构造过程必须允许被构造的对象有不同的表示。本例子代码基于GoF...
阅读全文