笔记:设计模式(1)-面向对象设计模式与原则


设计模式与面向对象


设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案;

面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间的常见的组织关系。

 

重新认识面向对象


对象是什么

1.从概念层面讲,对象是某种拥有责任的抽象;

2.从规格层面讲,对象是一系列可以被其他对象使用的公共接口;

3.从语言实现层面讲,对象封装了代码和数据。

 

面向对象的三大机制

1.封装,隐藏内部实现;

2.继承,复用现有代码;

3.多态,改写对象行为。

 

如何设计”好的面向对象“

1.遵循一定的面向对象设计原则;

2.熟悉一些经典的面向对象设计模式。

 

从设计原则到设计模式


基本设计原则

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

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

3.封装变化点;

4.使用重构得到模式——设计模式的应该不宜先入为主,一上来就使用设计模式是对设计模式的最大误用。没有一步到位的设计模式。”Refactoring to Patterns“是目前普遍公认的最好的使用设计模式的方法

 

几个具体设计原则

1.单一职责原则(SRP):一个类应该仅有一个引起它变化的原因;

2.开放封闭原则(OCP):类模块应该是可扩展的,但是不可修改(对扩展开放,对更改封闭);

3.Liskov替换原则(LSP):子类必须能够替换它们的基类;

4.依赖倒置原则(DIP):高层模块不应该依赖底层模块,二者都应该依赖抽象;抽象不应该依赖于实现细节,现实细节应该依赖于抽象;

5.接口隔离原则(ISP):不应该强迫客户程序依赖于它们不用的方法。

 

设计模式分类


从目的来看

1.创建型模式(Ceational):负责对象创建;

2.结构型模式(Structural):处理类与对象间的组合;

3.行为型模式(Behavioral):类与对象交互中的指责分配。


从范围来看

1.类模式处理类与子类的静态关系;

2.对象模式处理对象间的动态关系。

 

参考文献(reference)

《C#面向对象设计模式纵横谈》视频

 

 

posted @ 2010-09-12 12:52  rock506  阅读(247)  评论(0编辑  收藏  举报