一、学习
1. 高质量文档
- 分清读者对象
- 完整、队列、自成提携
- 行文确切,不出现多义性
- 需要根据对软件项目规模和复杂度不同决定编制的文档种类
2. 单元测试
五个属性
- 模块接口
- 局部数据结构
- 重要的执行路径
- 出错处理
- 边界条件(如入参出参的最小值、最大值)
3. 系统维护
- 硬件维护。对系统设备进行保养性维护
- 软件维护。正确性、适应性、完善性、预防性维护
- 数据维护。数据备份。
- 代码维护。对程序维护和修改
4. 多态
不同对象收到消息可以产生完全不同的结果。
5. 面向对象分析
- 分析
分析时采用名词作为分析对象。在自然存在的实体或对象
设计规范
- 单一职责
- 开放封闭
- 接口分离(小而专,避免大而全)
- 依赖倒置(面向接口编程/抽象编程,不依赖于具体实现)
6. UML活动图
系统从某一个活动到另一个活动的流程。是一种特殊的状态图,强调对象间的控制流程。
- 活动图和流程图的区别
方面 | 活动图 | 流程图 |
---|---|---|
使用图形 | 圆角矩形和箭头 | 各种符号和图形 |
侧重点不同 | 活动图更侧重于活动顺序和对象状态的变化 | 流程图则更侧重于处理步骤的顺序和时间关系 |
7. UML构件图
展现了一组构建之间的组织和依赖。显示系统物理结构,软件构建之间的依赖关系, 专注与静态实现,而不是动态
行为。
- 接口
1. 接口(Interfaces):描述构件之间交互的契约。它们定义了构件提供的服务和所需的服务。在构件图中,接口通常表示为带有小圆圈或插槽的矩形。
2. 构件(Components):表示系统中的软件单元,如库、框架、可执行文件等。在构件图中,构件通常表示为带有标签的矩形。
8. 职责链模式
将接收和发送者对象解耦,让多个接收者都有机会处理请求。适用于可处理一个请求的对象,集合应被动态指定
举例:如商店在节日期间进行优惠活动,不同级别的用户和消费不同金额的用户都会对应不同的优惠政策。每种政策使用职责链模式进行连接,都有机会处理请求。
职责链与过滤器模式的区别
方面 | 职责链 | 过滤器 |
---|---|---|
设计 | 传递(即使符合链上的条件或者不符合都进行传递,有肯能会进行多个节点的处理)和处理决策上(对请求的处理) | 筛选和处理(对数据进行过滤,数据会减少。主要是对请求的数据进行过滤和筛选,不对发起请求的结果做最终返回处理) |
所属模式 | 行为型 | 结构型 |
设计模式种类
- 创建型(对象创建相关)
- 行为型(算法相关)
- 结构型(类的组合)
9. 适配器模式与中介者模式区别
方面 | 适配器 | 中介者 |
---|---|---|
解决的问题 | 解决接口不兼容问题 | 降低对象间的耦合性 |
10. python语法
try…except…finally 为 异常处理, 与java不同
raise 抛出异常
- 计算list(range(1,-12,-2)) = [1,-1,-3,-5,-7,-9,-11]
到-12就会停止
- x=input(), 键盘输入123返回’123’
在Python 3中,input()函数用于从用户那里获取输入,并默认将输入作为字符串类型返回
二、复习
- 英语单词
- 层数据图。案例一
- 实体联系图
- 标注实体联系图中的主键外键