设计模式
砺晗
宝剑锋从磨砺出,梅花香自苦寒来
展开
-
设计模式——代理模式
在任何时候,只要你想将额外的操作从“实际”对象中分离到不同的地方,特别是当你希望能够很容易的做出修改——从没有使用额外操作转为使用这些操作,或者反之。代理就显得很有用。如你希望度量一段代码的执行时间,而又不想将代码合并到应用中。原创 2017-05-18 17:09:35 · 320 阅读 · 0 评论 -
设计模式——工厂方法模式
一 为什么要工厂方法模式1.1 简单工厂模式代码经过上一篇博文对简单工厂的分析,已经体会到简单工厂所带来的遍历之处,依然考虑上一篇博文的例子:一个学生类,一个铅笔类,一个橡皮类,每名学生需要一支铅笔,一个橡皮:public abstract class Stationery { public Stationery(){ }}publi原创 2017-03-11 20:04:40 · 292 阅读 · 0 评论 -
设计模式——责任链模式
一 场景想象一个求职过程:(1)求职者(Client)提交简历给机器进行第一次筛选,筛选成功后提交给主管。(2)主管进行一轮面试,对简历再次评级,拒绝评级差的,评级好的提交给经理。(3)经理进行二轮面试,对简历再次评级,拒绝评级差的,评级好的提交给总监。(4)总监进行三轮面试,对简历再次评级,拒绝评级差的,评级好的通过面试(hr面暂时免了)。二 代码原创 2017-03-12 16:05:46 · 420 阅读 · 0 评论 -
设计模式——简单工厂模式
一 为何要工厂模式百度百科:替代new,避免代码中出现大量的new。but,为什么要替代new呢?new又简单又方便。。。。下面通过代码讲解,原始的代码包括三个类,一个学生类,一个铅笔类,一个橡皮类,学生需要3支铅笔和2块橡皮。1.1 用new的代码public class Eraser { public Eraser(){ System.ou原创 2017-03-11 17:40:53 · 348 阅读 · 0 评论 -
设计模式——单例模式
一 单例模式特点 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。基于以上特点,单例模式可用于:线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序等。二 简单的单例模式public class Singleton { private Singleton(){} //使构造器对原创 2017-03-09 00:06:34 · 316 阅读 · 0 评论 -
设计模式——桥接模式
当实现改变时,想保持稳定的客户端接口。如数据库访问器DBMgr,使得数据库访问与具体业务逻辑分离,并且可灵活添加其它数据库。原创 2017-05-31 21:49:39 · 441 阅读 · 0 评论 -
设计模式——命令模式
一 引入问题:如何对一个对象类的操作进行解耦,使他们的执行可以动态地安排。解决:定义一个统一的命令接口,让具体命令对象类的解耦操作。二 类图三 实例继续考察上一遍博文中,数据库连接的实例,在MySqlImpl类中,有四个方法,但是通常远远不止四个方法,如果全写在这一个类中,类将会变得难以理解和维护,所以将其每个方法变为一个类:3.1 Co原创 2017-05-31 23:36:19 · 632 阅读 · 0 评论 -
设计模式——汇总篇
设计模式学习笔记,不断完善中。。。。设计模式共分为三类:一 创建型模式(1)单例模式(singleton):http://blog.csdn.net/xiaowang627/article/details/60488795(0)简单工厂:http://blog.csdn.net/xiaowang627/article/details/61420120(2)工厂方原创 2017-05-21 20:40:14 · 363 阅读 · 0 评论