登峰之道---简约而不简单
分享阳光,分享快乐
      设计模式似乎很时髦,但却很实在,原因是他能使解决方案既优雅又简单,又可复用.设计模式似乎说的很玄,事实上,设计模式仅仅是一些在项目之间和程序之间复用面向对象代码的简便方法.背后的思想很简单,对通用的对象间的相互作用方式进行记录和编目.来对于武术来讲,这好比是套路,当然是经典还是MVC框架,框架的设计目标就是描述对象如何通信才能不牵涉相互的数据模型和方法,其实跟软件工程的高内聚低耦合的目标是一样的,这也模式追求的目标,也是面向对象追求的目标

刚才提到低耦合,就是分离类,包括封装和继承,对于继承,因为一个子类可以继承父类的所有方法和所有非私有变量,所以一个基类不写得太详细,这是设计模式的一条原则

针对接口编程,而不是针对实现编程

 

实际上,如果您做过winform并使用继承的话,有时候你会感觉头痛,因为C#只支持类的单继承,如果您继承的是窗体,那麻烦大了,如果基类有任何问题的,你的子窗体将不能重画显示

设计模式的第二条原则是

优先使用对象组合,而不是继承

如何理解这句话,很简单,还是实现低耦合的目标,去年的一个项目消息系统中,就犯了这方面的错误,当时没看这书吧:)

因为一个消息系统中包括底层socket,命令解释器,委托器,发送器,中间层以及GUI,如果这方面的关系不处理好,做出来的系统结构相当差

如果您观察一下设计模式的例子,特别是观察者模式和中介者模式等,您会发现,它处处体现了上述两条设计模式的原则,请再次记住他们

 1. 针对接口编程,而不是针对实现编程

2. 优先使用对象组合,而不是继承

posted on 2005-06-22 20:37  登峰  阅读(1080)  评论(0编辑  收藏  举报