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