设计模式之UML类图

前言

本文为尚硅谷韩顺平老师的 Java 设计模式课程的笔记。

依赖关系(Dependence)

只要是在类中用到了对方,那么他们之间就存在依赖关系。如果对方不存在,则连编绎都不能通过。

class PersonServiceBean {
    private PersonDao personDao;
    public void save(Person person){}
    public IDCard getIDCard(Integer personid){}
    public void modify(){
        Department department = new Department();
    }
}
class PersonDao{}
class IDCard{}
class Person{}
class Department{}

对应的类图:

在这里插入图片描述

泛化关系(Generalization)

泛化关系实际上就是继承关系,它是依赖关系的特例。

如果 A 类继承了 B 类,我们就说 A 和 B 存在泛化关系。

abstract class DaoSupport{ 
	public void save(Object entity){}
	public void delete(Object id){}
}
class PersonServiceBean extends Daosupport{}

对应的类图:

在这里插入图片描述

实现关系(Implementation)

实现关系实际上就是 A 类实现 B 接口,他是依赖关系的特例。

public interface PersonService { 
	public void delete(Interger id);
}
public class PersonServiceBean implements PersonService { 
	public void delete(Interger id){}
}

对应的类图:

在这里插入图片描述

关联关系(Association)

在这里插入图片描述

聚合关系(Aggregation)

整体和部分的关系,整体与部分可以分开。

聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。

public class Computer {
	private Mouse mouse;
	private Monitor monitor;

	public void setMouse(Mouse mouse) {
		this.mouse = mouse;
	}
	public void setMonitor(Monitor monitor) {
		this.monitor = monitor;
	}
}

对应的类图:

在这里插入图片描述

组合关系(Composition)

整体与部分的关系,整体与部分不可以分开。

在程序中我们定义实体:Person 与 IDCard、Head,。

那么 Head 和 Person 就是组合,IDCard 和 Person 就是聚合。

class Person{ 
	private IDCard card;
	private Head head = new Head();
}
class IDCard{} 
class Head{}

对应的类图:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值