zoukankan      html  css  js  c++  java
  • 面向对象的七大设计原则

      1、单一职责原则【SINGLE RESPONSIBILITY PRINCIPLE】:单一职责原则想表达的核心思想就是“高内聚”,一个模块只完成一项功能。在面向对象设计中,一个类只应该负责一项职责,如果同时承担太多职责,就等于把这些职责耦合在了一起。

      2、里氏替换原则【LISKOV SUBSTITUTION PRINCIPLE】:任何时候都可以用子类型来替换父类型。

      3、依赖倒置原则【DEPENDENCE INVERSION PRINCIPLE】:面向接口编程,声明方法的参数类型、方法的返回类型、变量的引用类型时,尽可能使用抽象类型而不用具体类型,因为抽象类型可以被它的任何一个子类型所替代,请参考下面的里氏替换原则。

      4、接口隔离原则【INTERFACE SEGREGATION PRINCIPLE】:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口。

      5、迪米特法则【LOW OF DEMETER】:迪米特法则又叫最少知识原则,一个对象应当对其他对象有尽可能少的了解。(低耦合)

      6、开闭原则【OPEN CLOSE PRINCIPLE】 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

      7、组合/聚合复用原则【Composition/Aggregation Reuse Principle(CARP) 】:尽量使用组合和聚合,少使用继承的关系来达到复用的原则。类与类之间简单的说有三种关系,IS-A关系、HAS-A关系、USE-A关系,分别代表继承、关联和依赖。

       其中,关联关系根据其关联的强度又可以进一步划分为关联、聚合和合成,但说白了都是HAS-A关系,合成聚合复用原则想表达的是优先考虑HAS-A关系而不是IS-A关系复用代码

  • 相关阅读:
    BFS 路径记录
    KMP算法
    STL标准库-容器-deque 双端队列
    4. 位运算(快速幂)
    词频统计(未完成,错误)
    字符串转整形
    AVL平衡二叉树的各种问题(Balanced Binary Tree)
    string用scanf读入printf输出(节省时间)
    【转】Java魔法堂:String.format详解
    【转】关于Android资源文件中出现百分号的问题
  • 原文地址:https://www.cnblogs.com/crazy-lc/p/11945588.html
Copyright © 2011-2022 走看看