设计模式与UML类图

设计模式与UML类图_第1张图片

第一章:类的表示

  • class 表示类,可以添加属性和方法
  • interface 表示接口

第二章:类的关系

  1. dependency 依赖  
  2. association 关联
  3. generalization 泛化也就是继承
  4. realization 表示实现
  5. aggregation 表示聚合
  6. composite 表示组合

 设计模式与UML类图_第2张图片

1.依赖关系

运用场景

  1. 类中用到了对象
  2. 如果是类的成员属性
  3. 是方法接收的参数类型
  4. 方法中使用到的对象

2.关联关系

关联关系有导向性,是依赖关系的特例

关联关系有多重性

        如:

  1. "1"(表示有且仅有一个),
  2. "0..."(表示0个或者多个),
  3. "0,1"(表示0个或者一个),
  4. "n...m"(表示n到m个都可以),
  5. "m..."(表示至少m个)

单向一对一

双向一对一

3.泛化关系

  1. 泛化是依赖关系的特例,实际就是继承关系

4.实现关系

  1. 实现关系就是A类实现B类,是依赖关系的特例

5.聚合关系

是整体和部分的关系,整体与部分可以分开,是关联关系的特例,所以他具有关系的导向性多重性

例如如果认为一台电脑由鼠标和屏幕构成,3者之间可以分离的

也就是鼠标(一端是点)聚合到电脑中,屏幕聚合到电脑中(电脑的一端是空心菱形)

public class Computer{
    private Mouse mouse;
    private Moniter moniter;
    
}

6.组合关系

例如如果认为一台电脑由鼠标和屏幕构成,3者之间不可分离的

也就是鼠标(一端是点)组合在电脑中,屏幕组合在电脑中(电脑的一端是实心菱形)

public class Computer{
    private Mouse mouse = new Mouse();
    private Moniter moniter = new Moniter();
    
}

设计模式

1. 创建型模式

这类模式提供创建对象的机制, 能够提升已有代码的灵活性和可复⽤性。
业务场景
实现要点
1 工厂方法 多种类型商品不同
接⼝,统⼀发奖服
务搭建场景
定义⼀个创建对象的接⼝,让其⼦类⾃
⼰决定实例化哪⼀个⼯⼚类,⼯⼚模式
使其创建过程延迟到⼦类进⾏。
2 抽象工厂 替换Redis双集群
升级,代理类抽象场景
提供⼀个创建⼀系列相关或相互依赖对
象的接⼝,⽽⽆需指定它们具体的类。
3 建造者 各项装修物料组合
套餐选配场景
将⼀个复杂的构建与其表示相分离,使
得同样的构建过程可以创建不同的表
示。
4 原型 上机考试多套试,
每⼈题⽬和答案乱
序排列场景
⽤原型实例指定创建对象的种类,并且
通过拷⻉这些原型创建新的对象。
5 单例 7种单例模式案
例,Effective Java
作者推荐枚举单例
模式
保证⼀个类仅有⼀个实例,并提供⼀个
访问它的全局访问点。

你可能感兴趣的:(设计模式,设计模式,uml类图,架构)