解耦基本方法

简介: step1:通过依赖倒置实现单向依赖 A依赖于B,胜过A/B互相依赖。 step2: 层次化A1,A2依赖于B;A1,A2互不依赖。 step3: 依赖程度标准消息(socket, netlink) > 私有消息(msgQ)> 标准接口(ioctl) > 函数调用(接口抽象程度) step4:函数调用A依赖于B,B提供lib和头文件。

step1:通过依赖倒置实现单向依赖

 A依赖于B,胜过A/B互相依赖。

 

step2: 层次化

A1,A2依赖于B;A1,A2互不依赖。

 

step3: 依赖程度

标准消息(socket, netlink) > 私有消息(msgQ)> 标准接口(ioctl) > 函数调用(接口抽象程度)

 

step4:函数调用

A依赖于B,B提供lib和头文件。

静态库:linker

动态库:reload

 

step5: 函数接口设计原则

参考文档1:《how to design a good api and why it matters》

参考文档2:《面向对象设计的五个基本原则》

参考文档3:《接口设计的核心原则:功能抽象》

 

目录
相关文章
|
5月前
|
设计模式 搜索推荐 数据库连接
第二篇 创建型设计模式 - 灵活、解耦的创建机制
第二篇 创建型设计模式 - 灵活、解耦的创建机制
|
2月前
|
双11
访问者模式问题之在软件工程中,根据特性和场景决定是采用面向对象的抽象还是访问者的抽象,如何实现
访问者模式问题之在软件工程中,根据特性和场景决定是采用面向对象的抽象还是访问者的抽象,如何实现
|
5月前
|
存储 编译器 C语言
C与C++之间相互调用的基本方法
C与C++之间相互调用的基本方法
112 1
|
5月前
针对抽象编程与对应的好处
针对抽象编程与对应的好处
46 1
|
设计模式 Java
JAVA设计模式5:建造者模式,将对象的构建过程与其表示分离
JAVA设计模式5:建造者模式,将对象的构建过程与其表示分离
|
网络协议 数据可视化 测试技术
面向对象分析与设计的底层逻辑
真正掌握了面向对象分析和设计的方法,也体会到其中的益处,对理解业务、方案设计、编码开发都有好处。
830 2
面向对象分析与设计的底层逻辑
|
设计模式 Java
如何理解代码中的抽象|设计模式基础
下面,我们可以通过问题的形式来加深我们对抽象这一概念的理解。
|
设计模式 Java 程序员
面向接口编程的优点
面向接口编程的优点
178 0
|
设计模式
【设计模式】装饰者模式 ( 概念 | 适用场景 | 优缺点 | 与继承对比 | 定义流程 | 运行机制 | 案例分析 )
【设计模式】装饰者模式 ( 概念 | 适用场景 | 优缺点 | 与继承对比 | 定义流程 | 运行机制 | 案例分析 )
285 0
【自然框架】之“解耦”初探
      解耦,在以前确实做不到,但是周四和“横刀天笑”聊了之后,发现解耦是可以实现的。其实很简单,只要弄出来一个“实体类”就可以搞定了。                如果是简单的情况,那么就让表单控件“全权负责”了,这时候是不需要些什么代码的,点点鼠标,打几个字就可以了。
1152 0