软件设计的几大原则汇总

软件设计的几大原则汇总

软件设计的几大原则

单一职责原则

单一职责原则:英文为Single Responsibility Principle(SRP),这个原则要求我们在设计类或者接口的时候。尤其在设计接口的时候把职责分清楚,通常一个职责不是单一的方法,是一类方法的组合。

在开发的时候很难做到单一,我们在接口设计时一定做单单一,在类的设计时尽量做到单一原因引起变化。

依赖倒置原则

依赖倒置原则:High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions. 大概的意思为高层模块不应该依赖底层模块,他们都应该依赖抽象。抽象不能依赖细节。细节应该依赖抽象。

这个原则要求设计的时候尽量用抽象(抽象类或者接口)把各个模块独立开来,实现解耦,使各模块相对独立。

这个原则简单来说就是要用面向接口设计

接口隔离原则

接口隔离原则(Interface Segregation Principle, ISP),说到接口,其实分两种,分别为类实例接口(Object interface)和类接口(Class interface)。这个原则依赖建立在最小的接口之上,依赖自己需要的接口。

迪米特法则

迪米特法则:Law of Demetter(LoD),也称为最少知识原则。就是一个对象应该对其他对象有最少的了解。这个法则的本质就是解耦,解耦是有限度的不能为了解耦而解耦。

里氏替换原则

里氏替换原则:Functions that use references to base classes must be able to use objects of the derived class without knowing it.(所有引用基类的地方,都能透明的使用其子类的对象)

简单来说就是父类出现的地方,替换为子类不会产出异常。

里氏替换原则的好处就是增强程序的健壮性,保持程序的兼容性。

开闭原则

开闭原则:Software entities like classes, modules and functions should be open for extendsion but closeed for modifications. 意思是说软件的实体如类,模块和函数应该对扩展开发,对修改关闭。

这个原则要求我们设计的系统扩展性好,因为需要不会一直不变的,我们需要应对的永远是变化。

这6个原则是建立稳定的,灵活和健壮设计的基础,这些都只是是原则,设计的时候还要根据实际情况考虑。


分享到:


相關文章: