3.4 KiB
3.4 KiB
设计原则与术语速查
用途:考前快速回顾关键设计原则和术语
🔷 SOLID五大原则
| 原则 | 全称 | 含义 |
|---|---|---|
| S | 单一职责原则 | 一个类只负责一件事 |
| O | 开闭原则 | 对扩展开放,对修改关闭 |
| L | 里氏替换原则 | 子类可以替换父类而不出问题 |
| I | 接口隔离原则 | 接口要小而精,不要大而全 |
| D | 依赖倒置原则 | 依赖抽象(接口),不依赖具体实现 |
🔷 包设计四大原则
| 缩写 | 原则 | 含义 |
|---|---|---|
| REP | 重用等价原则 | 可一起复用的类放一个包 |
| CCP | 共同闭包原则 | 需要同时修改的类放一个包 |
| CRP | 共同重用原则 | 不会一起用的类分开放 |
| ADP | 非循环依赖原则 | 包之间的依赖不能形成环 |
🔷 其他重要原则
| 原则 | 含义 |
|---|---|
| 高内聚低耦合 | 包内关系紧密(内聚),包间关系稀疏(耦合) |
| 迪米特法则 | 最少知识原则——只跟"朋友"说话 |
| 组合优于继承 | 能用组合实现的效果,别用继承(更灵活) |
🔷 数据库三大范式
| 范式 | 要求 |
|---|---|
| 1NF | 字段值不可再分(原子性) |
| 2NF | 非主键字段完全依赖主键(消除部分依赖) |
| 3NF | 非主键字段不传递依赖主键(消除传递依赖) |
🔷 对象模型→数据模型映射速查
| 对象模型 | 数据模型 |
|---|---|
| 类 | 表 |
| 属性 | 字段(列) |
| 操作 | 触发器 + 存储过程 |
| 1对0..*关联 | 多的一端加外键 |
| 对关联 | 新建关联表 |
| 泛化关系 | 三种方案(父子各建表/只建子表/只建父表) |
🔷 需求工程术语速查
| 术语 | 定义 |
|---|---|
| 软件需求 | 用户对系统在功能、行为、性能、约束方面的期望 |
| 业务需求 | 组织的高层次目标 |
| 用户需求 | 用户使用系统完成的任务 |
| 功能需求 | 系统必须实现的功能 |
| 非功能需求 | 系统的质量属性和约束 |
| SRS | 软件需求规格说明书 |
| 需求基线 | 评审通过、双方承诺的需求版本 |
| 需求跟踪矩阵(RTM) | 记录需求与设计、代码、测试对应关系的表 |
| 需求变更控制 | 变更申请→审批→修改→重新确认的流程 |
🔷 面向对象核心概念
| 概念 | 含义 |
|---|---|
| 封装 | 隐藏内部实现,只暴露接口 |
| 继承 | 子类自动拥有父类的属性和方法 |
| 多态 | 同一操作在不同对象上有不同行为 |
| 抽象 | 提取共性,忽略细节 |
🔷 关联关系多重性速记
| 符号 | 含义 |
|---|---|
1 |
恰好1个 |
0..1 |
0个或1个 |
* 或 0..* |
0个或多个 |
1..* |
至少1个 |
n |
恰好n个 |
🔷 常见设计模式速查
| 模式 | 类型 | 解决什么问题 |
|---|---|---|
| 策略模式 | 行为型 | 同一功能有多种算法实现,可动态切换 |
| 工厂方法 | 创建型 | 创建对象时不指定具体类 |
| 组合模式 | 结构型 | 统一处理整体和部分(如文件系统目录和文件) |
| DAO模式 | 数据访问 | 分离数据访问逻辑和业务逻辑 |
| MVC模式 | 架构型 | 分离界面(View)、逻辑(Controller)、数据(Model) |