子非鱼,安知鱼之乐?

我的程序人生,累并快乐着。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

所谓设计模式

Posted on 2006-09-03 13:25  Jason Cui  阅读(219)  评论(0编辑  收藏  举报

早上醒来,看到墙上挂着的照片突然想到一个问题。相框本身有个挂钩,但是我并没有把它直接挂到墙上的钉子上去,因为时间长了一定会生锈,会损坏这个挂钩的外观。于是我又在这个挂勾上加了一根短线,把这根线挂到墙上钉子上去。时间长了可以把这根线换一根,从而保证了相框的外观。我相信大部分人都会这样做的。

还有,新买来的PDA,因为要直接在屏幕上手写,时间长了屏幕就花掉了。屏幕一旦磨花,就再也没有办法还原了,除非换个屏幕。于是所有用PDA的人都是再买一张屏幕保护膜,把膜贴在屏幕上,再往膜上写字。时间长了,膜被磨花,只要撕掉重新买张膜就可以了。这样就最大限度的保证了PDA的完整性。

这种解决方案叫什么呢?在程序上来讲,这就是代理模式。在不破坏第三方库的情况下对其行为进行包装,也可以在不影响第三方库的情况下替换成另一个代理,而不影响使用者的行为。

事实上,所谓的23个设计模式,所面向的要解决的问题的方面只有不到一半,通常都有两个或者三个模式所要解决的问题是相同的,只是解决问题的手段和方向不同而已。所以总结起来,只需要10个大的模式就可以了。而这其中,又有两三个模式是真正融于生活的,就是那种你天天在用,只是不知道自己在用的模式,就像相框上的挂绳和PDA屏幕上的保护膜一样。