设计原则:
当设计应用程序、框架或类时,最重要的是考虑代码的可扩展性,而不仅仅是开发出某些基本的功能。
SOLID原则
solid是一些特定的面向对象应用程序开发原则的简称,它们用来指导面向对象的设计与开发工作。solid包括以下这些原则。
1.单一职责原则
单一职责原则(SRP)是指对象应承担单一的责任,它们的行为应该关注在责任上。一个很好的例子就是不同的显示界面对应不同的控制器。
2.开放封闭原则
开放封闭原则(OCP)鼓励对扩展开放,对修改关闭。这一原则是对SRP原则很好的补充,也就是说,我们应该通过继承类来扩展其功能,而不是向类添加更多的行为和责任。一个很好的例子就是横切关注点。
3.里氏替换原则
里氏替换原则(LSP)的对象应易于被其子类型的实例替换,而不会影响对象的行为和规则。例如,尽管有一个共同的基类或接口是个不错的主意,但是这种做法可能会引起代码间接打破LSP
4.接口隔离原则
接口隔离原则(ISP)鼓励在整个应用程序使用接口的同时,限制接口的大小。换句话说,应存在多个更小、更多的特定接口,而不是一个包含所有对象行为的超类接口。一个很好的例子是.net为序列化和销毁对象分别定义了单独的接口。一个类如果实现了ISerializable和IDisposable接口,那么就可以只关注序列化的调用者,只关心ISerializable接口的实现情况。
5.依赖倒置原则
依赖倒置原则(DIP)是指互相依赖的组件应该通过抽象来进行交互,而不是直接通过具体来实现。使用这个原则一个很好的例子,就是将依赖于一个抽象类或接口的控制器与数据访问层交互,而不是直接创建特定类型的数据访问对象进行通信。
依赖倒置的优点是:使用抽象可允许不同的组件进行开发,彼此独立的进行更改,不仅可能引入新的抽象实现代码,而且易于测试,因为可以非常方便的模拟依赖项。