【摘要】在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?
这应该是类设计者的责任,而不是使用都的责任。【全文】单键模式(Singleton) 动机 在软件系统中,经常有.....
分类:
其他好文 时间:
2014-05-23 06:03:28
阅读次数:
303
适配器模式跟现实世界中的适配器一样,都是用于转化达到某种目的。如现实世界中的电源适配器,将220v电源转化成需要的电压。面向对象的适配器。假设已有一个软件系统,你向往它能和一个新的厂商的类库搭配使用,但是这个新厂商所涉及出来的接口不同于旧厂商的接口。你不想改变现有的代码,也不能改变厂商的代码,所以需...
分类:
其他好文 时间:
2014-05-23 04:32:49
阅读次数:
277
只有深刻理解审计原则,自然而然就能写出设计模式。通过refactor(重构)得到设计模式。——现在还是不是很理解1、针对接口编程,而不是针对实现编程2、优先使用对象组合,而不是类继承3、封装变化点1、针对接口编程,而不是针对实现编程客户(程序)无需知道所使用对象的特定类型,只需要知道对象拥有客户所期...
分类:
其他好文 时间:
2014-05-23 03:47:22
阅读次数:
231
摘要 设计模式(Design
pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如...
分类:
其他好文 时间:
2014-05-21 17:19:21
阅读次数:
278
代理模式,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
优点:
代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了保护目标对象的作用。
应用场景:
远程代理。为一个不同的地址空间的对象提供一个本地的代理对象。这个不同的地址空间可以是在同一台主机中,...
分类:
其他好文 时间:
2014-05-21 16:54:54
阅读次数:
175
这是一个很美丽的,千古流传的爱情故事,每到农历七月初七,相传牛郎织女鹊桥相会的日子,牛郎和织女被银河隔开,只允许每年的农历七月七日相见。为了让牛郎和织女能顺利相会。各地的喜鹊就会飞过来用大家的身体紧贴着搭成一座桥,此桥就叫做鹊桥。牛郎和织女便在这鹊桥上相会。姑娘们就会来到花前月下,抬头仰望星空,寻找银河两边的牛郎星和织女星,希望能看到他们一年一度的相会......
在牛郎织女相会的过程中,喜...
分类:
其他好文 时间:
2014-05-21 15:26:16
阅读次数:
218
1,定义
Gof23设计模式中是这样定义桥接设计模式:桥接模式的目的是把抽象层次结构从其实现中分离出来,使其能够独立变更。抽象层定义了供客户端使用的上层的抽象接口。实现层次结构定义了供抽象层次使用的底层接口。实现类的引用被封装于抽象类的实例中时,桥接就形成了。
我们用一个游戏的例子去理解这个桥接模式,比如,我们假如魂斗罗一代,魂斗罗二代界面没多大变化,可以共用一套底层接口。
上面这个...
分类:
其他好文 时间:
2014-05-21 15:03:19
阅读次数:
260
委托模式是基本的设计模式之一。委托,即是让另一个对象帮你做事情。
许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式。
委托模式使得我们可以用聚合来替代继承。...
分类:
移动开发 时间:
2014-05-21 13:25:19
阅读次数:
273
简单工厂模式及实例前言工大有许多同学是做java的,大家都知道java最大的优点是它的完全OO化和它在多年的发展过程中吸收和总结了许多先进的框架与模式,其中工厂模式就是最常用的模式之一。下面我想将我在学习和实践过程中对工厂模式的认识与了解介绍给大家。由于笔者能力限制,在实践中也没参与过什么大的项目,...
分类:
其他好文 时间:
2014-05-21 12:03:46
阅读次数:
277