口袋应试:这一章出现的题点并不多,主要集中在UML概念以及各种视图的区分和识别。在教材中的内容出题概率很低,需要大家灵活掌握。另外教材中的章节名称虽然叫《UML建模与架构文档》,但是并没有在这一章的架构文档的内容上出现题点。
UML
UML 是用于系统的可视化建模语言, 而不是一种方法; 其中并不包括过程的概念, 其本身是独立于过程的,可以在任何过程中使用它。不过与XML 结合最好的是用例驱动的、以体系结构为中心的、迭代的、增量的开发过程。
UML 中的3 种基本构造块:事物、关系和图;
UML 中的事物也称建模元素,包括:结构事物、行为事物、分组事物、注释事物;
UML 中的主要4种关系:依赖、关联(聚合、组合) 、泛化和实现;
基于UML的需求分析过程大致可分为以下步骤:
①利用用例及用例图表示需求。从业务需求描述出发获取执行者和场景;对场景进行汇总、分类、抽象,形成用例;确定执行者与用例、用例与用例图之间的关系,生成用例图。
②利用包图和类图表示目标软件系统的总体框架结构。根据领域知识、业务需求描述和既往经验设计目标软件系统的顶层架构;从业务需求描述中提取“关键概念”,形成领域概念模型;从概念模型和用例出发,研究系统中主要的类之间的关系,生成类图。
UML对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。具体来说,就是指以下5个系统视图:
①逻辑视图。逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
②进程视图。进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
③实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。
④部署视图。部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
⑤用例视图。用例视图是最基本的需求分析模型。
出题概率:★★★★
100132、120127、120128、140135、140136、150131
如果大家要在备考复习中进行分类测试练习,或者查找更详细的备考资料,可以使用“系统架构设计师口袋应试”小程序,或者关注我的个人公众号“跬步郎”来查找后续更新的内容。
第七章 设计模式
口袋应试:教材第七章中的题点内容只有一个,设计模式实例,每年必考,2-3分而且几乎都从教材内容中出题,所以这部分内容大家必须掌握。并且要熟练运用,包括:能区分各个模式的分类,各个模式的中英文对照,各个模式的图形的区分和作用等等。本篇文章中没出现题点的模式只列出中英文对照,未列出具体内容和图形,请大家参考教材复习。
7.2设计模式实例
7.2.1创建性模式
单抽原件厂;用来创建对象。
在不指定具体类的情况下,这种模式为创建一系列相关或相互依赖的对象提供了一 个接口。根据给定的相关抽象类,Abstract Factory模式提供了从一个相匹配的具体子类 集创建这些抽象类的实例的方法,如图7-1所示。
2. Builder 模式(建造者模式)
3. Factory Method 模式(工厂模式)
4. Prototype 模式(原型模式)
5. Singleton 模式(单例模式)
Singleton模式确保一个类只有一个实例,并 且提供了对该类的全局访问入口,它可以确保使 用这个类实例的所有的对象使用相同的实例。
[email protected]
出题概率:★★
160155、180154
7.2.2结构性模式
外侨组员戴配饰;处理类或对象的组合。
1. Adapter 模式(适配器模式)
2. Bridge 模式(桥接模式)
Bridge模式可以将一个复杂的组件分成两个独立的但又相关的继承层次结构:功能 性的抽象和内部实现。改变组件的这两个M次结构很简单,以至于它们可以相互独立地 变化。当具有抽象的层次结构和相应的实现层次结构时,Bridge模式是非常有用的。除 了可以将抽象和实现组合成许多不同的类,该模式还可以以动态组合的独立类的形式实 现这些抽象和实现。
3. Composite 模式(组合模式)
4. Decorator 模式(装饰器模式)
5. Facade 模式(外观模式)
Facade模式为子系统中的一组接口提供了一个统一的接口。因为只有一个接口,该模式就定义了更容易使用子系统的高级接口。这个统一的接口允许对象使用该接口与子 系统进行通信,从而实现对子系统的访问。
6. Flyweight 模式(享元模式)
7. Proxy 模式(代理模式)
[email protected]
出题概率:★★★★
120149、120150、150132、150133、160157、180155、180156
7.2.3行为性模式
观摩对策、责令解放、戒忘台;描述类与对象之间怎样交互、怎样分配职责。
1.Chain of Responsibility 模式(责任链模式)
2. Command 模式(命令模式)
Command模式在对象中封装了请求,这样就可以保存命令,将该命令传递给方法以 及像任何其他对象一样返回该命令。
3. Interpreter 模式(解释器模式)
4. Iterator 模式(迭代器模式)
5. Mediator 模式(中介者模式)
6. Memento 模式(备忘录模式)
Memento模式可以保持对象状态的“快照”(snapshot),这样对象可以在不向外界 公开其内容的情况下返回到它的最初状态。
7. Observer 模式(观察者模式)
8. State 模式(状态模式)
State模式允许对象在内部状态变化时,变更其行为,并且修改其类。
9. Strategy 模式( 策略模式)
Strategy模式定义了一组能够用来表示可能行为集合的类。这些行为可以在应用程 序中使用,来修改应用程序功能。
10. Template Method 模式(模板方法模式)
11. Visitor 模式(访问者模式)
[email protected]
出题概率:★★★
120151、120152、120153、160156、180157
设计模式速记
1. 工厂方法模式(Factory Method):定义一个创建对象的接口,但由子类决定需要实例化哪一个类。 工厂方法使得子类实例化的过程推迟
a. 速记关键词:动态生产对象
2. 抽象工厂模式(Abstract Factory):提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类
a. 速记关键词:生产成系列对象
3. 构建器模式(Builder):将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示
a. 速记关键词:复杂对象构造
4. 原型模式(Prototype):用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新的对象
a. 速记关键词:克隆对象
5. 单例模式(Singleton):保证一个类只有一个实例,并提供一个访问它的全局访问点
a. 速记关键词:单实例
6. 适配器模式(Adapter):将一个类的接口转换成用户希望得到的另一种接口。它使原本不相容的接口得以协同工作
a. 速记关键词:转换接口
7. 桥接模式(Bridge):将类的抽象部分和它的实现部分分离开来,使它们可以独立地变化
a. 速记关键词:继承树拆分
8. 组合模式(Composite):将对象组合成树型结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性
a. 速记关键词:树形目录结构
9. 装饰模式(Decorator):动态地给一个对象添加一些额外的职责。它提供了用子类扩展功能的一个灵活的替代,比派生一个子类更加灵活
a. 速记关键词:动态附加职责
10. 外观模式(Facade):定义一个高层接口,为子系统中的一组接口提供一个一致的外观,从而简化了该子系统的使用
a. 速记关键词:对外统一接口
11. 享元模式(Flyweight):提供支持大量细粒度对象共享的有效方法
a. 速记关键词:汉字编码
12. 代理模式(Proxy)-- 结构型:为其他对象提供一种代理以控制这个对象的访问
a. 速记关键词:快捷方式
13. 职责链模式(Chain of Responsibility):通过给多个对象处理请求的机会,减少请求的发送者与接收者之间的耦合。将接收对象链接起来,在链中传递请求,直到有一个对象处理这个请求
a. 速记关键词:传递职责
14. 命令模式(Command):将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作
a. 速记关键词:日志记录,可撤销
15. 解释器模式(Interpreter):给定一种语言,定义它的文法表示,并定义一个解释器,该解释器用来根据文法表示来解释语言中的句子
a. 速记关键词:虚拟机的机制
16. 迭代器模式(Iterator):提供一种方法来顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示
a. 速记关键词:数据集
17. 中介者模式(Mediator)-- 行为型:用一个中介对象来封装一系列的对象交互。它使各对象不需要显式地相互调用,从而达到低耦合,还可以独立地改变对 象间的交互
a. 速记关键词:不直接引用
18. 备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,从而可以在以后将该对象恢复到原先保存的状态
a. 速记关键词:游戏存档
19. 观察者模式(Observer):定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新
a. 速记关键词:联动
20. 状态模式(State):允许一个对象在其内部状态改变时改变它的行为
a. 速记关键词:状态变成类
21. 策略模式(Strategy):定义一系列算法,把它们一个个封装起来,并且使它们之间可互相替换,从而让算法可以独立于使用它的用户而变化
a. 速记关键词:多方案切换
22. 模板方法模式(Template Method):定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定 义算法的某些特定步骤
a. 速记关键词:框架
23. 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作,使得在不改变各元素的类的前提下定义作用于这些元素的新操作
a. 速记关键词:数据与操作分离
|上一篇(3.第五章软件架构)|目录|