zoukankan      html  css  js  c++  java
  • (2)设计模式遵循的六大原则

    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)又叫:最少知识原则

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

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

  • 相关阅读:
    序列化二叉树
    按之字形顺序打印二叉树
    C#读写文件的方法汇总_C#教程_脚本之家
    c#缓存介绍(转)
    ASP.NET 缓存技术分析
    pickle使用
    python3.4使用文件
    io的常用操作
    manven需要注意点几点
    git中一些常用的命令
  • 原文地址:https://www.cnblogs.com/xingrui/p/13229591.html
Copyright © 2011-2022 走看看