第二篇 - 六大原则

1、单一职责原则(Single Responsibility Principle)

        定义:单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。

        单一职责原则是实现高内聚、低耦合的指导方针;它需要开发人员发现类的不同职责并将其分离。难点就在于怎么分离?那就是如果你能够想到多于一个的动机去改变一个类,那么这个类就具多余一个的职责。

2、开发-封闭原则(Open-Closed Principle)

        定义:软件实体(类、模块、函数等等),应该可以扩展,但是不可以修改。

        无论模块是多么的“封闭”,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择。他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。

        由于我们不会预测未来,所以在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。

3、依赖倒转原则(Dependency Inversion Principle)

        定义:1、高层模块不应该依赖低层模块。两个都应该依赖抽象。

                   2、抽象不应该依赖细节,细节应该依赖抽象。

        为什么叫倒转?就是开发时,为了使得常用代码可以复用,一般都会把这些常用代码写成许多函数库,以便后面做新项目时,去调用这些底层的函数。这就叫做高层模块依赖低层模块。看起来没什么事,但是如果需要更换数据库或者存储信息方式,这时就会有问题。底层模块更换影响到高层模块,也会影响到其他模块。

4、里氏替换原则(Liskov Substitution Principle)

    定义:子类型必须能够替换掉他们的父类型。

    引用:详细解说

5、接口隔离原则(Interface Segregation Principle)

    定义:1、客户端不应该依赖它不需要的接口

               2、一个类对另一个类的依赖应该建立在最小的接口上。

    引用:详细解说

6、迪米特法则(Law of Demeter)又叫:最少知识原则

     定义:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

      其根本思想是:强调类之间的松耦合。类之间的耦合越弱,越有利于复用,一个处在若耦合的类被修改,不会对有关系的类造成波及。

你可能感兴趣的:(第二篇 - 六大原则)