当前位置: 首页 > news >正文

东莞网站优化关键词公司重要新闻今天8条新闻

东莞网站优化关键词公司,重要新闻今天8条新闻,福州网站制作建设,石家庄哪里可以做网站相信希望,相信自己 上一章简单介绍了 设计模式的原则(一), 如果没有看过,请观看上一章 本文参考文章: 常见UML符号详解 UML (Unified modeling language) 统一建模语言,是一种用于软件系统分析和设计的语言工具, 它用于帮助软件开发人员进行…

相信希望,相信自己

上一章简单介绍了 设计模式的原则(一), 如果没有看过,请观看上一章

本文参考文章: 常见UML符号详解

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

一. UML 类图描述

如:

image-20230613102133200

一.一. 修饰符

修饰符有 public private protected

其中,

public 用 + 号表示 (sex属性)

private 用 - 号表示 (name属性)

protected 用 # 表示 (age 属性)

一.二 类

单个类图,一般分三层,第一层表示类的名称;第二层表示类的特性,通常就是字段和属性;第三层是类的操作,通常是方法或行为

image-20230613102133200

一.三 接口

接口类似单个类图也分三层,第一层表示接口的名称;第二层表示接口的特性,通常就是字段;第三层是接口的操作,通常是方法或行为。

接口表示方式有两种

  • 顶部有 <>显示:如IFly接口
  • 棒棒糖表示法:如Swim接口

image-20230613102643744

一.四 字段

表示方式:修饰符 字段名:字段类型

例如:

  • - name:String
  • + sex:String
  • # age:int

一.五 方法

表示方式:修饰符 方法名(参数类型 参数):返回值类型

例如:

  • - think():void
  • # work(int type): void
  • + playGame(int type): String

二. 相互关系

UML 本身是一套符号的支付宝, 就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,
比如, 类,接口,实现,泛化,依赖,组合,聚合等。

继承(extends),实现(implement),关联(Association),聚合(Aggregation),合成(Composition),依赖(Dependency)。

image-20230613102914135

二.一 依赖(Dependency)

定义:

  • 依赖是单向的,通常以方法参数的形式、局部变量的形式,及对静态方法调用的形式出现

代码体现:方法参数,局部变量,静态方法

表示方式:

虚线箭头来表示

image-20230613104827738

public class PersonServiceBean {private PersonDao personDao;public void save(Person person) {}public IDCard getIdCard(Integer personId){return new IDCard();}public Dept getDept() {Dept dept = new Dept();return dept;}
}

依赖,是只要两个类有联系, 成员变量,方法参数, 方法返回值, 方法内变量(不遵守 迪米特法则时) 都属于 依赖

image-20230613103713588

二.二 继承 (extends)

继承有的文章使用泛化(Generalization)来表示。

定义:

  • 接口与接口之间的继承关系
  • 类与类之间的继承关系

表示方式:
带三角箭头的实线空心三角形,箭头指向父类

image-20230613104850200

如果 A extends B, 那么就说 A 和 B 之间存在泛化关系。

@Data
public class Student extends Person{}

image-20230613103230431

二.三 实现(implement)

定义:

  • 类对接口的实现关系

表示方式:
带三角箭头的虚线,箭头指向接口

image-20230613104905073

如果 A 类 implements B 接口, 那么就是实现

public interface PersonService {}public class PersonServiceBean  implements PersonService{}

image-20230613103454945

二.四 关联关系(Association)

定义:

  • 是一种拥有的关系,它使一个类知道另一个类的属性和方法,当一个类‘知道’另一个类时,我们可以说它们之间相互关联;
  • 双向关联:可以有两个箭头或者没有箭头(不推荐);
  • 单向关联:有一个箭头,且箭头方向指向被关联的对象;

代码体现:成员变量

表示方式:
实线箭头,且箭头指向被拥有者

image-20230613104923208

关联关系实际上就是类与类之间的联系,是依赖关系的特例。
相比于依赖关系, 它具有导航性: 有双向关系 或者单向关系
关系有多重性: 1 (有且只有1个) 0 (0个或者多个) 0,1 (0个或者1个) n…m (n到m个都可以) m…* (至少m个)

@Data
public class IDCard {private Person person;
}@Data
public class Person {private IDCard idCard;
}

image-20230613104005402

二.四.一 聚合关系 (Aggregation)

定义:

  • 一种弱的‘拥有’关系,体现的是 A 对象可以包含 B 对象,但 B 对象不是 A 对象的一部分;
  • 整体与部分的关系,如文学俱乐部全体成员与文学俱乐部成员

代码体现:成员变量

表示方式:
带空心菱形的实心线,菱形指向整体

image-20230613104938073

聚合关系 表示的是整体和部分的关系, 整体与部分可以分开。
聚合关系是关联关系的特例, 所以他具有关联的导航性和多重性。

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;}
}

image-20230613104214648

二.四.二 合成关系(Composition)

定义:

  • 一种强的‘拥有’关系,体现了部分与整体的关系,它们拥有相同的生命周期

代码体现:成员变量

表示方式:
带实心菱形的实线,菱形指向整体

image-20230613104957272

如: 人 和头

@Data
public class Person {private IDCard idCard;// 不可以分割,在成员变量时,直接构造。private Head head = new Head();
}

image-20230613104445735

二.五 关系图

强弱顺序:

继承=实现>组合>聚合>关联>依赖

这些之间的关系图大概是这样:

image-20230613104528844


本章节的代码放置在 github 上:

https://github.com/yuejianli/DesignPattern/tree/develop/UML


谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!

http://www.khdw.cn/news/61703.html

相关文章:

  • wdcp拒绝访问网站域名注册流程和费用
  • 建设网站 关于竣工结算的期限营销网络的建设怎么写
  • 给学校建网站那个系统好商旅100网页版
  • 网站第三方统计工具下载天津百度快速优化排名
  • 什么网站专门做二手物品天猫店铺申请条件及费用
  • 会计可以做网站么怎样在百度上免费建网站
  • 网站建设横幅百度软件中心官网
  • 公司做网站推广要注意什么桂林seo排名
  • 广州敏城建设工程有限公司网站营销公司排名
  • 苏州新区城乡建设网站重庆seo网络推广关键词
  • wordpress文章内容加信息seo网站seo
  • 欧米伽官方网站手表价格百度网站推广
  • 网站被k多久恢复百度健康
  • java jsp做网站济宁百度推广电话
  • 重庆网站推广公司临沂seo公司稳健火星
  • 自己做的网站还用维护呢怎么做网站排名
  • 宜昌 网站建设网络营销是以什么为基础
  • 边境网站建设方案网络销售是做什么的
  • 苏州网站建设服务公司app推广员好做吗
  • 网络维护员每天要干哪些事好搜seo软件
  • 午夜做网站seo网站有优化培训吗
  • 网站建设教学视频百度云盘百度电脑网页版
  • dede网站404怎么做网站推广是什么意思
  • 赤坎网站开发公司上首页seo
  • 怎么在中国移动做网站备案最新国内新闻事件今天
  • 做go kegg的在线网站企业网站推广方案设计
  • 网站app制作费用单seo推广灰色词
  • 吉林市做网站哪家好免费创建自己的网站
  • 做设计在哪个网站投递简历云南网络推广服务
  • 那个网站可以做司考真题大数据营销软件