【摘要】在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?
这应该是类设计者的责任,而不是使用都的责任。【全文】单键模式(Singleton) 动机 在软件系统中,经常有.....
分类:
其他好文 时间:
2014-05-23 06:03:28
阅读次数:
303
适配器模式跟现实世界中的适配器一样,都是用于转化达到某种目的。如现实世界中的电源适配器,将220v电源转化成需要的电压。面向对象的适配器。假设已有一个软件系统,你向往它能和一个新的厂商的类库搭配使用,但是这个新厂商所涉及出来的接口不同于旧厂商的接口。你不想改变现有的代码,也不能改变厂商的代码,所以需...
分类:
其他好文 时间:
2014-05-23 04:32:49
阅读次数:
277
单例设计模式用来创建唯一的对象,有些时候我们只需要一个对象,如:线程池,缓存,对话框,注册表,日志对象,等等。这就需要单例设计模式来完成。不用多说,直接上代码。public
class TestSingle { private static TestSingle single = null; pri...
分类:
其他好文 时间:
2014-05-23 03:48:01
阅读次数:
235
只有深刻理解审计原则,自然而然就能写出设计模式。通过refactor(重构)得到设计模式。——现在还是不是很理解1、针对接口编程,而不是针对实现编程2、优先使用对象组合,而不是类继承3、封装变化点1、针对接口编程,而不是针对实现编程客户(程序)无需知道所使用对象的特定类型,只需要知道对象拥有客户所期...
分类:
其他好文 时间:
2014-05-23 03:47:22
阅读次数:
231
关于建造者模式网上有很多文章,也有些不同的理解。在此结合网上其他文章对建造者模式进行总结。总体说来,建造者模式适合于一个具有较多的零件(属性)的产品(对象)的创建过程。根据产品创建过程中零件的构造是否具有一致的先后顺序,可以将其分为如下两种形式。一、通过Client、Director、Builder...
分类:
其他好文 时间:
2014-05-23 03:46:10
阅读次数:
312
本文介绍一种创建型设计模式 Product Trader(操盘手)模式。
分类:
其他好文 时间:
2014-05-22 15:34:11
阅读次数:
352
工厂方法模式适合于对实现了同一接口或继承了同一父类的一些类进行实例的创建。一般是通过定义一个工厂类,并在其方法中实现对具有上述特点的类对象的创建。根据具体产生类对象的方法定义形式,又可以将其分为普通工厂方法模式、多个工厂方法模式和静态工厂方法模式。一、普通工厂方法模式:常见的经典写法如下(以发送邮件...
分类:
其他好文 时间:
2014-05-22 14:26:03
阅读次数:
236
代理模式,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
优点:
代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了保护目标对象的作用。
应用场景:
远程代理。为一个不同的地址空间的对象提供一个本地的代理对象。这个不同的地址空间可以是在同一台主机中,...
分类:
其他好文 时间:
2014-05-21 16:54:54
阅读次数:
175
1,定义
Gof23设计模式中是这样定义桥接设计模式:桥接模式的目的是把抽象层次结构从其实现中分离出来,使其能够独立变更。抽象层定义了供客户端使用的上层的抽象接口。实现层次结构定义了供抽象层次使用的底层接口。实现类的引用被封装于抽象类的实例中时,桥接就形成了。
我们用一个游戏的例子去理解这个桥接模式,比如,我们假如魂斗罗一代,魂斗罗二代界面没多大变化,可以共用一套底层接口。
上面这个...
分类:
其他好文 时间:
2014-05-21 15:03:19
阅读次数:
260
委托模式是基本的设计模式之一。委托,即是让另一个对象帮你做事情。
许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式。
委托模式使得我们可以用聚合来替代继承。...
分类:
移动开发 时间:
2014-05-21 13:25:19
阅读次数:
273