【软件设计师11】面向对象设计

面向对象设计

1. 设计原则

单一职责原则:设计目的单一的类

开放-封闭原则:对外扩展开放,对修改关闭

里氏(Liskov)替换原则:子类可以替换父类

依赖倒置原则:要依赖与对象,而不是具体实现;针对接口编程,不要针对实现编程

接口隔离原则:使用多个专门对接口比使用单一的总借口要好

组合重用原则:要尽量使用组合,而不是继承关系达到重用目的

迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解

2. UML

构造块

构造块中包含事务、关系、图

图:可以分为结构图和行为图或者分为动态图和静态图

静态图/结构图包括:

类图:类之间关系的图

对象图:对象之间关系的图

包图:包之间关系的图

组合结构图

构件图:在该类图中存在两种类似棒棒糖和插座的符号,棒棒糖符号表示“供接口”;插座式的符号表示“需接口”,该图是描述系统构件与构件之间、类与接口之间的关系图

部署图:软件的部件应该部署在哪个硬件的节点上面

制品图

动态图/行为图包括:

用例图:该图的归类有分歧,大部分时候归结为动态,小部分时候归结为静态,该图的内容是系统和外部的交互关系

顺序图/序列图:强调了时间顺序的通信图

通信图/协作图

定时图

状态图:表达的是状态的变迁、转移的情况

活动图:与流程图的结构一致

交互概览图

3. 设计模式概念

架构模式:是软件设计中的高层决策,例如C/S结构就属于架构模式,架构模式反映了开放软件系统过程中的基本设计决策。

设计模式:主要关注软件系统的设计,与具体的实现语言无关

惯用法:是最底层的模式,关注软件系统的设计与实现,实现时通过特定的程序设计语言来描述构件与构建之间的关系。每种编程语言都有它自己特定的模式,即语言的惯用法。例如引用-计数就是c++语言的一种惯用法

4. 设计模式的分类

【软件设计师11】面向对象设计_第1张图片

创建型模式

【软件设计师11】面向对象设计_第2张图片

结构型模式

【软件设计师11】面向对象设计_第3张图片

行为型模式

【软件设计师11】面向对象设计_第4张图片
【软件设计师11】面向对象设计_第5张图片

你可能感兴趣的:(uml,java,设计模式,设计原则,面向对象设计)