《厦门理工学院软件工程设计模式期末复习资料.docx》由会员分享,可在线阅读,更多相关《厦门理工学院软件工程设计模式期末复习资料.docx(6页珍藏版)》请在三一办公上搜索。
1、厦门理工学院软件工程设计模式期末复习资料设计模式期末复习资料 统一建模语言: 1. P3 a) 1. 用例图 b) 2. 类图 2. P7 类之间的关系: a) 有什么关系 i. 关联关系 ii. 依赖关系 iii. 泛化关系 iv. 接口与实现关系 原则部分: 3. 面向对象设计原则 P26 有哪些原则 a) 单一职责原则 b) 开闭原则 P28 细看 c) 里氏代换原则 d) 依赖倒转原则 P34细看 e) 接口隔离原则 f) 合成复用原则 g) 迪米特法则 模式部分: 了解的内容请自行翻阅该模式, 主要知道模式是什么、他的组成角色、应用范围等等 1. 抽象工厂模式: 优缺点 a) 优点:
2、 i. 抽象工厂模式隔离了具体类的生成, 是的客户并不需要知道什么被创建。 ii. 当一个产品族重的多个对象呗设计成一起工作时, 他能够拨正客户端始终只使用同一个产品族中的对象。 iii. 增加新的具体工厂和产品族很方便, 无需修改已有系统, 符合“开闭原则“。 2. 单例模式(Singleton): 什么是单例模式, 怎么判断单例模式 P134 a) 什么是单例模式: 动机与定义 b) 怎么判断单例模式: P136 i. 请自行翻阅 模式分析、 单例模式实例与解析: 3. 组合模式:P181 能够选择和判断该模式: 看懂模式结构: 组合模式包含的角色: 具体实例:P186 4. 享元模式:概
3、念P53。 5. 模版方法模式: 了解, 能够判断出即可。P400 a) 该模式请自行看模式动机与定义后概览P405的实例与类。 6. 职责链模式:了解, 能够判断出即可。P262 a) 该模式请自行看模式动机与定义后概览P265的实例与类。 7. 中介者模式: 了解, 符合什么原则, 优缺点。P319 a) 了解: 稍微看下。 b) 符合什么原则: 该模式符合“单一职责原则“。 P320 模式动机中的 c) 优缺点: P330 在具体中介者类中包含了同事之间的交互细节, 可能会导致具体中介者类非常复杂, 使得系统难以维护。 8. 状态模式: 判断P366 大题部分: 1 工厂方法模式和抽象工
4、厂模式: a) 属于的模式: 创建型模式。 b) 他们的对比、 说明、 对其的理解和看法。 P76 i. 对比:工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。 工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个 ii. 工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类只能创建一个具体产品类的实例。 抽象工厂模式: 多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类可以创建多个具体产品类的实例。 c) 类图的绘制。 d) 具
5、体翻阅该模式具体的类图和实例图以及结构模式的角色组成。P78 e) 优缺点: i. 工厂方法模式: 1. 优点: 向客户隐藏了产品类实例化的细节, 用户无需关心产品对应的工厂, 无需关心创建细节。 2. 优点:工厂可以自主确定创建何种产品对象, 不需要知道对象的细节。 3. 优点:再加入新产品时候,只要添加一个具体工厂和具体产品,无需修改其他部分。具有很好的扩展性, 完全符合开闭原则。 4. 缺点: 在添加新产品时候,需要编写新的具体产品类。 5. 缺点: 由于考虑到系统的可扩展性, 需要引入抽象层增加了系统的抽象性和理解难度, 增加了系统的实现难度。 ii. 抽象工厂模式: 1. 优点: 抽
6、象工厂模式隔离了具体类的生成, 客户端并不需要知道什么被创建。 2. 优点: 当一个产品族重的多个对象被设计成一起工作时, 他能保证客户端只使用同一产品族中的对象。 3. 优点: 增加新的具体工厂和产品族很方便, 无需修改现有的系统, 符优点: i. ii. iii. iv. 缺点: v. 简化了对象之间的交互 将各同事解耦 减少子类生成 对于复杂的对象之间的交互 合”开闭原则” 4. 缺点: 在添加新的产品对象的时候, 难以扩展抽象工厂来生产新种类的产品。 f) 适用的场景。P87 i. 工厂方法模式: 1. 一个类不知道他所需要的对象的类。 2. 一个类通过其子类来指定创建哪个对象。 3.
7、 将创建对象的任务委托给多个工厂子类中的某一个类, 客户端无需关心具体细节。 ii. 抽象工厂模式: 1. 一个系统不应该依赖于产品类实例如何被创建、组合和表达的细节。 2. 系统中有多于一个的产品族, 而每次只使用一个产品族。 3. 属于同一个产品族的产品将在一起使用。 4. 系统提供一个产品类的库。 2 命令模式 a) 实例 i. 具体翻阅该模式具体的类图和实例图以及结构模式的角色组成。P275 b) 类图 c) 应用的场景P284 i. 系统需要将请求调用者和请求接受者解耦, 使得调用者和接受者不直接交互 ii. 系统需要在不同的时间指定请求, 将请求排队和执行请求 iii. 系统需要支
8、持命令的撤销和恢复操作 iv. 系统需要将一组操作组合在一起, 即支持宏命令 3 迭代器模式: a) 实例 i. 具体翻阅该模式具体的类图和实例图以及结构模式的角色组成。P303 b) 类图 c) 应用的场景P314 i. 访问一个具体对象的内容而无需暴露它的内部表示 ii. 需要为聚合对象提供多种遍历方式 iii. 为遍历不同的聚合结构提供一个统一的接口 4 策略模式 a) 商场打折案例(掌握) P399 Null i. ii. iii. b) 概念 i. 策略模式的模式动机与定义P385 c) 类图的绘制 i. 具体翻阅该模式具体的类图和实例图以及结构模式的角色组成。P386 d) 代码结构 i. 同上