SOLID六大设计原则总结

simple responsibility principle 单一职责原则。

there should never be more than one reason for a class to change. 一个类中应该只处理一个职责,而不应该同时处理多个职责。否则当出现类需要修改时,可能会导致其他职责不能正常使用。

好处是提高代码可读性,系统可维护性,复杂度降低。

Open close principle 开闭原则

软件实体应该是可扩展的,对于扩展是开放的,而对于修改是关闭的。开闭原则的关键是抽象,通过抽象一组功能,而没有具体的实现,能够使软件的功能随着需求的变化而变化。

好处是类的可维护性提高,复杂度降低。

LisKov substitutation principle 里氏替换原则

1.派生类不应该重写基类的非抽象方法。2.当需要功能扩展时,应该尽量不要重写基类的方法,而是另写一个方法。3. 如果需要重写基类的方法,则方法的参数应该比基类的参数更宽松。总之,派生类不应该影响基类所实现的具体方法。

里氏替换原则是开闭原则的重要实现方法之一。有利于提高代码可维护性。

Law of Demeter 迪米特原则

talk only to your immediate friend. 一个类应该尽可能与其他类保持联系,尽可能少知道其他类的信。尽量使用private属性,一个类不该由自己实现的功能就不要实现,避免引入不相干的类。

主要目的是为了实现低耦合,提高系统稳定性。

Interface segregation prinpical 接口隔离原则

类之间的依赖应该建立在最小粒度的接口上,也就是说,接口的设计应该满足单一职责原则。每个调用方最好能有自己专业的接口,而不能建立一个庞大的接口供所有调用方使用。

好处是可以避免接口污染,接口污染会导致一个类实现不必要的功能。提高灵活性,实现高内聚。

Dependence inversion principal 依赖倒置原则

高层模块不应该依赖于底层模块,两者都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。依赖倒置的中心思想是面向接口编程。

好处是减少类之间的耦合,提高代码可读性。

相关推荐