设计模式
文章平均质量分 89
wuChen4646
专注云计算领域
展开
-
深入浅出单实例Singleton设计模式
单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一个实例。当然,作为一个技术负责人的你,你当然有权利通过使用非技术的手段来达到你的目的。比如:转载 2015-03-15 16:56:52 · 408 阅读 · 0 评论 -
设计模式学习-Adapter Pattern
适配器模式定义: Adapter是将一个类的接口变换成客户端所期待的另一种接口,从而使得原本因接口不匹配的而无法一起工作的类可以一起工作 。 下图为适配器模式通用类图适配器模式的三个角色:1.Target目标角色 : 该角色定义把其它类转换为何种接口,也就是我们的期望接口2 Adaptee角色 : 该角色是已经存在的运行良好的类或者对象,经过适配器角色的包装,它会原创 2015-04-29 09:19:00 · 417 阅读 · 0 评论 -
设计模式-模板方法模式 策略模式
模板方法模式定义 模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模板方法非常常见,对创建框架来说,由框架控制如何做事情,而由你(使用这个框架的人)指定框架算法中每个步骤的细节。举个咖啡和茶的例子茶的制作方法:1.把水煮沸 2.用沸水浸泡茶叶 3.把茶倒进杯子4.加柠原创 2015-05-24 21:20:34 · 518 阅读 · 0 评论 -
设计模式-工厂方法和抽象工厂方法
工厂方法。 工厂方法用来处理对象的创建,并将这样的行为封装在子类中。这样,客户程序中关于超类的代码就和子类对象创建代码解耦了。 工厂方法是抽象的,所以依赖子类来处理对象的创建。 工厂方法必须返回一个产品。超类中定义的方法,通常使用到工厂方法的返回值。 工厂方法将客户(也就是超类中的代码,如orderPizza())和实际创建具体产品的代码分隔开来。原创 2015-05-20 09:41:41 · 511 阅读 · 0 评论 -
设计模式-Python Java装饰者模式
装饰者模式定义 动态地将责任附加到对象上。若要扩展功能,装饰者提供比继承更有弹性的替代方案实现类图 装饰者模式的特点 A 装饰者和被装饰对象有相同的超类型。(注意这是利用继承达到”类型匹配“,而不是利用继承获得”行为“,行为来自装饰者和基础组件,或者与其他装饰者之间的组合关系) B 可以用一个或多个装饰者包装一个对象。 C 因为装饰者原创 2015-05-19 15:01:35 · 720 阅读 · 0 评论 -
设计模式-command模式
定义命令模式 命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。命令对象将动作和接收者包进对象中。应用场景 在面向对象的软件设计中,经常会遇到一个(或一系列)对象,对象本身的数据存储与对象的操作耦合在一起。例如一个对象有add(),edit(),delete()方法,这样对象支持的方法很难扩展,如果需要加入update(原创 2015-05-19 10:23:21 · 1597 阅读 · 0 评论 -
设计模式-状态模式
如果要实现一个状态机,对象内的状态建模的通用技巧是 创建一个实例变量来持有状态值并在方法内书写条件代码来处理不同的状态。设计一大概模版如下public class TestState{ final static int State1 = 0; final static int State2 = 1; public void dosomething{原创 2015-06-08 14:18:00 · 1495 阅读 · 0 评论 -
设计模式-单例模式
单件模式 Singleton Pattern 类只存在一个实例,即只可以创建一个对象。有一些类如果创造出多个对象就会导致许多问题的产生,如程序的行为异常、资源使用过量,或者是不一致的结果。单件模式常常被用来管理共享的资源,例如数据库连接或者线程池。 简要定义:单件模式确保一个类只有一个实例,并提供一个全局访问点单件模式的实现 单件模式的实现是通过private构造原创 2015-05-23 21:54:12 · 512 阅读 · 0 评论