• JAVA 框架之面向对象设计原则


     面向对象设计原则: 
    单一职责原则 SRP :
      一个类或者行为只做一件事 。
     降低代码冗余,提高可重用性,可维护性,可扩展性,可读性 使用组合形式
     
    里氏替换原则 LSP : 
    所有引用基类的地方必须能够透明的使用子类。
    如果类型S 的对象O1  ,都有类型为T 的对象O2  , 那么T 定义的所有程序在所有对象O1 都替换成O2 时, 程序没有变化。
    爸爸能干的儿子都能干,引用爸爸的地方一定可以引用儿子。
     
    依赖倒置原则 DIP : 
    属于里氏替换原则的补充
    面向抽象编程:  关键词: 接口,抽象
    依赖: 一个对象O1 需要实现某一个功能时必须让另一个对象O2的某一个功能先实现,那么他们就存在依赖关系O1依赖于O2。
    依赖注入 IOC:  将依赖的部分O2 作为O1 的属性注入,注入一定是抽象的。
     
    接口隔离原则 ISP : 
    客户端不应该依赖于那些他不需要的接口
    一旦一个接口太大,则需要将他分隔成一些更细小的接口,使用该接口的客户端只需要知道与之相关的方法即可
     
    迪米特里法则 LOD : 
    每一个软件单位对其他单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位
    不要和陌生人说话: 
    当前对象this 
    以参数形式传入当前对象方法中的对象
    当前对象的成员对象
    如果当前对象是一个集合,那么集合中的元素都属于朋友
    当前对象自己创建的对象
     
    开闭原则 OCP : 
    对扩展开放,对修改关闭。
    EVP ---  对可变性封装原则:找到系统中可能引起系统改变的因素,并将它封装起来
     
    聚合复用原则 / 合成复用原则  ARP/CRP
    尽量使用对象组合,而不是继承来达到复用的目的
    黑箱复用,耦合度相对较低,选择性的调用成员对象的操作,可以在运行时动态进行
     
  • 相关阅读:
    view上面 长view时候要设置其frame的,
    controller.allowsEditing = NO;神医,
    怎样计算,遗留,
    编码,一点阅读(转:阮一峰的网络日志),
    原来 ascll是对英文系统的编码,
    CoreGraphics 画图,(转燕羽天空)
    Core Graphics,
    计算数据类型占有 字节的长度,
    浅谈Promise(一)
    原生js实现表格内容增删改
  • 原文地址:https://www.cnblogs.com/thelovelybugfly/p/10859695.html
Copyright © 2020-2023  润新知