UML图
类(class) 用矩形框表示,分三层
第一层:类名,抽象类用斜体字
第二层:类的特性:字段和属性
第三层:类的操作:方法或行为
方法前的符号:“+”表示public,“-”表示private,“#”表示protected
接口:右边的“飞翔”
顶端有<<interface>>,第一层是接口名字,第二层是方法
接口的另一种表示法:俗称棒棒糖表示法,就是类上面的一根棒棒糖(圆圈+实线)
圆圈旁为接口名称,接口方法在实现类中出现
继承:用空心三角+实线
实现接口:空心三角+虚线
类与对象之间的关系(6种):
关联 Association:一个类受另一个类影响(实线)
聚合关联 Aggregation:弱'拥有'关系,A对象可以包含B对象,但B不是A的一部分(空心菱形+实线箭头)[DPE]
(DPE 表示这句话来自《设计模式》)
组合关联 Composition:(也叫合成,组成)是一种强的‘拥有’关系,体现严格的部分和整体的关系,
部分和整体的生命周期一样[DPE](实心菱形+实线箭头)
组合图形的基数:表明这一端的类可以有几个实例,(一只鸟有两个翅膀)如果有无数个实例,则用n表示
关联关系、聚合关系也可以有基数
依赖 Dependency :一个类需要另外一个类(X需要Y,则X的修改Y也要跟着修改) (虚线箭头)
泛化(继承) (实心菱形+实线)
实现 (实心菱形+虚线)
UML 4+1 图
1:用例图 描述系统中有哪些用户可用的功能
4:逻辑图 将问题中的一些名词提取出来,形成系统中对应的类,表示之间的关系。
过程图 表示系统对象间的交互
实现图 系统中组件与组件之间交互
部署图 软件系统真实运行过程的物理描述
静态(系统结构):
类图
对象图
构建图
部署图
动态(系统行为):
顺序图 (时序图)
协作图
状态图
活动图
用例图
GoF(Gang of Fout) 23种经典设计模式
创建型 结构型 行为型
类 Factory Method 工厂方法 Adapter_Class Interpreter
Template Method
对象 Abstract Factory 抽象工厂 Adapter_Object Chain of Responsibility
Builder Bridge Command
Prototype 原型 Composite Iterator
Singleton 单例 Decorator 装饰 Mediator
Facade Memento
Flyweight Observer
Proxy State 状态
Strategy
Visitor
单例模式:
当多个对象需要共享同一个对象时;
原型模式:
对扩展开发,对修改关闭;
工厂模式:
客户需要某个产品,能够根据客户要求取得产品给客户;
状态模式:
当需要对某个对象内部状态改变时,使用;
装饰模式:
当需要对某个对象动态添加新功能时,可以用;
适配器模式:
只需要对接口中的一小部分方法重新定义,又不希望将接口中的所有方法实现,
这时可以使用;
观察者模式:
当主题对象改变时,需要通知所有的观察者,这时可以使用;
命令模式:
将用户发出命令以对象形式传递,通过参数可改变命令对象的状态;