博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一句话设计原则
阅读量:5951 次
发布时间:2019-06-19

本文共 621 字,大约阅读时间需要 2 分钟。

面向对象的可复用设计( Object Oriented Design / OOD)

1. 开闭原则 (Open Closed Principle)

对扩展开放,对修改关闭

2. 里氏代换原则(LSP)

1.可以使用基类的地方,其子类必然也能使用

2.并且原功能不会受到任何影响

-- 经典案例, 正方形是不是长方形的子类?

3.依赖倒转原则(DIP)

依赖抽象,不要依赖具体,面向接口编程

传统过程性设计办法倾向于高层依赖低层,抽象依赖具体

image.png
依赖倒转原则,就是把错误的依赖关系倒转过来
image.png

4.接口隔离原则(ISP)

使用多个专门的接口,比使用单一的接口要好

5.合成、聚合复用原则(CARP)

尽量使用合成,聚合,尽量不使用继承

6.迪米特法则

不跟陌生人说话……

  1. 这是“某人” 的朋友圈, 他与“朋友” 之间是朋友关系
    image.png
  2. 这是“朋友” 与 “陌生人” 组成的朋友圈

    image.png

  3. 迪米特法则建议,“某人” 与 “陌生人” 之间不要进行直接通话,而是通过“朋友”去调用“陌生人”的方法,对于“某人”来说,“陌生人”是不存在的。

    image.png

怎么样才算“朋友”? 也只有患难见真情。

  1. 当前对象本身
  2. 以参量形式传入到当前对象方法中的对象
  3. 当前对象的实例变量引用的对象
  4. 当前对象实例是集合,则集合中的对象是朋友
  5. 当前对象创建的对象

应该是有依赖关系的,就算是“朋友”吧

转载于:https://www.cnblogs.com/DonneZhang/p/10266780.html

你可能感兴趣的文章
ElasticSearch Client详解
查看>>
新零售讲堂之时代下的传统零售业,何去何从?
查看>>
c++读取和写入TXT文件的整理
查看>>
深入动态人脸识别小场景应用,2019年或将迎来爆发期
查看>>
Ionic2 下处理 Android 设备下返回按钮的事件
查看>>
linux基础--grep以及模式正则表达式
查看>>
Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍
查看>>
流媒体地址文件制作方法
查看>>
LVS DR模型及LVS持久连接
查看>>
ISA2006发布Exchange服务器 RPC OVER HTTPS
查看>>
linux下超强命令(shell语句)组合
查看>>
极品五笔管理员能用,普通用户无法使用
查看>>
线程池最大线程数
查看>>
Exchange 2010升级补丁时的服务状态变化
查看>>
上接扩展GridView控件(5) - 固定指定行、指定列
查看>>
验证码破解技术
查看>>
RAID6结构原理详解
查看>>
温故知新ASP.NET 2.0(C#)(1) - MasterPage(母版页)
查看>>
图像处理之形态学梯度计算
查看>>
最长公共子序列(POJ1458)
查看>>