刚才提到低耦合,就是分离类,包括封装和继承,对于继承,因为一个子类可以继承父类的所有方法和所有非私有变量,所以一个基类不写得太详细,这是设计模式的一条原则
“针对接口编程,而不是针对实现编程”
实际上,如果您做过winform并使用继承的话,有时候你会感觉头痛,因为C#只支持类的单继承,如果您继承的是窗体,那麻烦大了,如果基类有任何问题的,你的子窗体将不能重画显示
设计模式的第二条原则是
优先使用对象组合,而不是继承
如何理解这句话,很简单,还是实现低耦合的目标,去年的一个项目消息系统中,就犯了这方面的错误,当时没看这书吧:)
因为一个消息系统中包括底层socket,命令解释器,委托器,发送器,中间层以及GUI等,如果这方面的关系不处理好,做出来的系统结构相当差
如果您观察一下设计模式的例子,特别是观察者模式和中介者模式等,您会发现,它处处体现了上述两条设计模式的原则,请再次记住他们
2. 优先使用对象组合,而不是继承