关键词:
1. 界面与逻辑
基本程序架构一般包含:
- 用户界面模块(UI):接受用户输入及呈现数据
- 业务逻辑模块(Business Logic): 根据用户需求处理数据
问题:用户界面与业务逻辑如何交付?
2. 基本设计原则
功能模块之间需要进行解耦
核心思想:强内聚,弱耦合
1) 每个模块应该只实现单一的功能
2)模块内部的子模块只为了整体的单一功能而存在
3)模块之间通过约定好的接口进行交互
3. 接口
广义:
- 接口是一种契约(协议,语法,格式,等)
狭义:
- 面向过程开发:接口是一组预定义的函数原型
- 面向对象开发:接口是纯虚类(C# 和 java 直接支持接口)
4. 用户界面于业务逻辑的交互
- 模块之间仅通过接口进行关联
必然存在模块会使用接口
必然存在模块实现对应的接口 - 模块间的关系是单向依赖的
避免模块间存在循环依赖的情况
循环依赖是糟糕设计的标准之一
5. 计算器应用程序的整体架构
-
QCalculatorUI
:用户界面类 -
QCalculatorDec
:业务逻辑类 -
ICalculator
:接口类 -
QCalculator
:封装类:将用户界面和业务逻辑类通过接口类结合在一起
6. 小结
- 模块之间的交互需要通过接口完成
- 接口是开发中模块之间的一种契约
- 模块之间不能出现循环依赖
- 基本设计原则:强内聚,弱耦合
声明:此文章仅是本人在学习狄泰QT实验分析课程所做的笔记,文章中包含狄泰软件资料内容,一切版权归狄泰软件所有!
实验环境:ubuntu10 + Qt Creator2.4.1 + Qt SDK 4.7.4