文章目录
1. 界面与逻辑
基本框架架构一般包含:
- 用户界面模块接收用户输入及呈现数据
- 业务逻辑模块根据用户需求处理数据
问题:用户界面与业务逻辑如何交互?
2. 基本设计原则
2.1 模块内部与模块之间的关系
- 功能模块之间需要进行解耦
- 核心思想:强内聚,弱耦合
-每个模块应该只实现单一的功能
-模块内部的子模块只为整体的单一功能而存在
-模块之间通过约定好的接口进行交互
2.2 接口的概念
广义:
- 接口是一种契约 ( 协议,语法,格式等 )
狭义:
- 面向过程:接口是一组预定义的函数模型
- 面向对象:接口是纯虚类 ( C#和 Java 直接支持接口 )
2.3 用户界面与业务逻辑的交互
2.3 模块间的设计思想
-模块之间仅通过接口进行关联
必然存在模块会使用接口
必然存在模块实现对应的接口
-模块间的关系是单项依赖的
避免模块间存在循环依赖的情况
循环依赖是草稿设计的标准之一
3. 计算器程序架构
3.1 计算机应用程序整体架构图
3.2 架构解析
- QCalculatorUI 中存在一个接口类成员函数,并且在构造函数中设置为NULL,使得QCalculatorUI独立于接口类,实现弱耦合,并且提供这个接口类的 set 和 get 方法,将 QCalculatorUI 和 联系起来
- QCalculatorDec 继承于ICalculator接口类,所以可以将此类传递给 QCalculatorUI 界面对象
- QCalculator 类将 QCalculatorUI (界面类) 和 QCalculatorDec (业务逻辑类) 进行组合
4. 总结
- 模块之间的交互需要通过接口完成
- 接口是模块开发之间的一种契约
- 模块之间不能出现循环依赖
- 基本设计原则:强内聚,弱耦合