日期:2014-05-20  浏览次数:20891 次

SOLID原则和C#
SOLID原则在C#中是怎样使用的???

单一责任原则(The Single Responsibility Principle):
当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。 

开放封闭原则(The Open Closed Principle):
软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象、最难理解的一个。

里氏替换原则(The Liskov Substitution Principle):
当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系 

依赖倒置原则(The Dependency Inversion Principle):
1. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象
2. 抽象不应该依赖于细节,细节应该依赖于抽象

接口分离原则(The Interface Segregation Principle):
不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。 


关于这几个原则大体上明白了,但是不知道代码实例中具体指的是什么???
如果用在具体的C#项目实例中,代码是什么样的啊???

学习起源

相关资料
------解决方案--------------------
我也复习下。。
------解决方案--------------------
依赖倒置原则,接口分离,最典型的就是微软的Unity和MEF框架了。


------解决方案--------------------
引用:
但是不知道代码实例中具体指的是什么


我已经反复强调了,这是OOAD的思想,不要总是去联想代码有什么对应,
并且,体现在软件生产的其他环节比体现在代码中更重要
随便举个例子:
Code,DB,Test都是具体的实现,他们依赖同一个抽象,
而这个抽象就是设计文档接口,这个接口是OOAD意义上的接口,他实实在在的约定了各个工序的职责,
可是你不能用任何编程语言来描述,
------解决方案--------------------
该回复于2011-10-31 11:28:10被版主删除