zoukankan      html  css  js  c++  java
  • 【面向对象设计的5个原则】

    五大基本原则
    单一职责原则SRP(Single Responsibility Principle)
      是指一个类的功能要单一,不能包罗万象。
     
    开放封闭原则OCP(Open-Close Principle)
      一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的。
      比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能,那么应当在不用修改服务端功能代码的前提下,就能够增加客户端功能的实现代码
      这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。
     
    替换原则(the Liskov Substitution Principle LSP)
      子类应当可以替换父类并出现在父类能够出现的任何地方。
      比如:公司搞年度晚会,所有员工可以参加抽奖,那么不管是老员工还是新员工,也不管是总部员工还是外派员工,都应当可以参加抽奖,否则这公司就不和谐了。
     
    依赖原则(the Dependency Inversion Principle DIP)
      具体依赖抽象,上层依赖下层。
      假设B是较A低的模块,但B需要使用到A的功能,这个时候,B不应当直接使用A中的具体类: 而应当由B定义一抽象接口,并由A来实现这个抽象接口,B只使用这个抽象接口:  这样就达到了依赖倒置的目的,B也解除了对A的依赖,反过来是A依赖于B定义的抽象接口。
      通过上层模块难以避免依赖下层模块,假如B也直接依赖A的实现,那么就可能造成循环依赖。  
     
    接口分离原则(the Interface Segregation Principle ISP)
      模块间要通过抽象接口隔离开,而不是通过具体的类强耦合起来
    终身学习者
  • 相关阅读:
    不能以根用户身份运行 Google Chrome 浏览器
    Ubuntu 10.04 10.10 11.04 9.10 9.04 中文字体美化——安装雅黑字体
    笔记一:文本属性
    ubuntu下使用 android adb命令
    css常用技巧
    PHP max_execution_time 超时
    PHP判断文件夹是否存在和创建文件夹的方法
    javascript之HTML(select option)详解
    查询HTML标签select中options的值并定位其位置
    PHP网页进度条
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/11276363.html
Copyright © 2011-2022 走看看