【Java设计模式】UML类图六大关系总结(含代码)(一)

简介: 【Java设计模式】UML类图六大关系总结(含代码)(一)

一、UML基本介绍

UML是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果

Class表示类

Interface表示接口

Dependency表示依赖

Association表示关联

Generalization表示泛化(继承)

Realization表示实现

Aggregation表示聚合

Composite表示组合

二、UML图

UML图分为静态结构图和动态行为图,其中类图是描述类与类之间的关系,是UML图中最核心的部分,所以主要学习和介绍类图。


三、UML类图

用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系

类之间的关系:依赖、泛化(继承)、实现、关联、聚合、组合

四、类图分类

依赖关系(Dependency)

概念

只要是在类中用到了对方,他们之间就存在依赖关系;如果没有对方,连编译都通过不了。


代码

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


对应的类图

image.png


小结

类中用到了对方,可以是类的成员属性、方法的返回类型、方法接收的参数类型


泛化关系(Generalization)

概念

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


代码

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


对应的类图

image.png


小结

泛化关系实际上就是继承关系;如果A类继承了B类,就说A 和 B存在泛化关系


实现关系(Implementation)

概念

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


代码

public interface PersonService {
    void delete(Integer id);
}
public class PersonServiceBean implements PersonService {
    @Override
    public void delete(Integer id) {
        System.out.println("delete..");
    }
}


对应的类图

image.png


小结

实现关系实际上就是实现接口;如果A类实现了B接口,就说A 和 B存在实现关系


相关文章
|
2月前
|
设计模式 算法 搜索推荐
Java 设计模式之策略模式:灵活切换算法的艺术
策略模式通过封装不同算法并实现灵活切换,将算法与使用解耦。以支付为例,微信、支付宝等支付方式作为独立策略,购物车根据选择调用对应支付逻辑,提升代码可维护性与扩展性,避免冗长条件判断,符合开闭原则。
288 35
|
2月前
|
设计模式 消息中间件 传感器
Java 设计模式之观察者模式:构建松耦合的事件响应系统
观察者模式是Java中常用的行为型设计模式,用于构建松耦合的事件响应系统。当一个对象状态改变时,所有依赖它的观察者将自动收到通知并更新。该模式通过抽象耦合实现发布-订阅机制,广泛应用于GUI事件处理、消息通知、数据监控等场景,具有良好的可扩展性和维护性。
247 8
|
2月前
|
设计模式 网络协议 数据可视化
Java 设计模式之状态模式:让对象的行为随状态优雅变化
状态模式通过封装对象的状态,使行为随状态变化而改变。以订单为例,将待支付、已支付等状态独立成类,消除冗长条件判断,提升代码可维护性与扩展性,适用于状态多、转换复杂的场景。
289 0
|
2月前
|
设计模式 Java Spring
Java 设计模式之责任链模式:优雅处理请求的艺术
责任链模式通过构建处理者链,使请求沿链传递直至被处理,实现发送者与接收者的解耦。适用于审批流程、日志处理等多级处理场景,提升系统灵活性与可扩展性。
257 2
|
2月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
349 5
|
2月前
|
Java 数据处理 API
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
248 115
|
2月前
|
安全 Java 编译器
为什么你的Java代码需要泛型?类型安全的艺术
为什么你的Java代码需要泛型?类型安全的艺术
179 98
|
2月前
|
Java 编译器 API
java最新版和java8的区别,用代码展示
java最新版和java8的区别,用代码展示
255 43
|
2月前
|
安全 Java 容器
告别空指针噩梦:Optional让Java代码更优雅
告别空指针噩梦:Optional让Java代码更优雅
370 94
|
2月前
|
安全 Java 容器
告别繁琐判空:Optional让你的Java代码更优雅
告别繁琐判空:Optional让你的Java代码更优雅

热门文章

最新文章