蒙阴县城乡建设局网站,网络推广经验交流,二手车网站模版,购物网站的做模块化设计 20240448
模块不包含数据#xff0c;通过实例的指针#xff0c;实现对实例的操作#xff1b;唯一包含的数据是用于管理这些模块的侵入式链表模块只负责更具定义的数据结构#xff0c;执行对应的逻辑#xff0c;实现不同实例的功能#xff1b;
参考资料
使用…模块化设计 20240448
模块不包含数据通过实例的指针实现对实例的操作唯一包含的数据是用于管理这些模块的侵入式链表模块只负责更具定义的数据结构执行对应的逻辑实现不同实例的功能
参考资料
使用模块时必须专注于模块的使用而必须有意忽视模块的实现逻辑必须要在心理上信任模块。简而言之必须把模块视作黑盒子
“Service模型”
模块的头文件接口头文件遵循“最小信息公开原则”即该头文件中只存放用户使用模块最少最少所必须知道的信息。类型定义、宏定义、函数和全局变量声明都应该首先放置在对应的源代码中或是后面会提到的模块内私有的接口头文件中当且仅当我们发现用户要使用模块的某一功能必须要用到某一信息时才“极不情愿”地、“抠门”的、且尽可能将其它能剥离和隐藏的信息剥离开后放置到接口头文件中。每一个模块内部都会有一个专门的头文件用于实现对模块的配置该头文件用于“从模块外部向模块内部”输入配置信息app_cfg.h 多个C源文件之间需要共享一些非公开的私有信息:双下划线为前缀的接口头文件比如叫做__common.h并视其为模块的私有财产。 模块的嵌套父模块的接口头文件包含子模块的接口头文件
层次模块
模块的内部不仅对外是不可见的本质上也不依赖于模块的外部环境模块自成一体队列、内存池、加密模块、数据校验模块平时用起来就好比是平铺在桌面上的积木一样——它们平起平坐缺乏立体的层次关系。另外一类模块他们本身需要由众多的子模块拼接而成——这里的拼接可不是简单的平面拼接——它需要一个层次关系
设备的故障如何分级
第一章
面向对象
文件充当封装边界UML中的继承 使用封闭箭头表示状态机在状态中等待指导发生某个事件同步事件发送者等待事件被处理的结果
第二章
设计模式
设计模式是对经常出现的问题的通解位域的问题编译器的字节不固定是否是原子操作标量的位域强制转换
硬件代理
硬件适配器
中介者模式
观察者模式 发布-订阅
去抖模式
中断模式
轮训模式
第三章 资源并发
顺序动作的例子
循环执行模式
静态优先级模式## 临界区模式
收尾调用模式
队列模式
#############################
UML
类
对象的“包含”关系表明他们是“共生死”一起构建一起析构组合/部分 关系 APO (a part of) --实心菱形是“共生死”包含/内容/共享 关系 — 空心菱形从领域概念找到类概念–概念之间的联系
用例-行为需求
用例表达了系统提供用户actor的服务一个用例表达一个服务用例在系统的众多系统功能中属于直接提供用户服务的部分具有用户感知的功能,其他功能只是用户感知不到用例类的实例化是一种场景scenario一般类的实例化是对象用例描述该服务的名称以及返回的信息类型解释“是什么”用例描述服务过程中用户与系统之间“如何”交互用例描述用户的角色“是谁”用例关系“包含”-一个用例包含了“包含用例”“扩展”-一个基础用例会在一定条件下触发“扩展用例”