类图

关于UML类图的一点理解(转)

為{幸葍}努か 提交于 2019-12-05 06:08:14
首先我们定义一个非常简单的Person类,代码如下: public class Person { private String name; private int age =1; public String getName() { return name; } public int getAge() { return age; } public void setName(String name) { this.name=name; } public void setAge(int age) { this.age=age; } } 这个Person类很简单,定义了两个字段name和age其中age有一个初始化值1,另外定义name和age的set、get方法。很简单,然后我们来看下这个类在UML类图中是如何表示的:  可以看到我们画了一个矩形,然后从上到下分割成三格,第一格为类名,第二格为类中字段属性,这里属性的表达也是有一定格式的,如下: 权限 属性名:类型 [ = 默认值 ] 由于这里我们的name和age都是私有的,所以在前面加一个 - ,另外还有其他几种权限:public 、protected、default,它们分别对应 + 、 # 、 ~ 。由于我们这里的age有一个默认值1,所以在类型后面再加上‘=1’来表示。接下来来看下第三格,第三格为类的方法,其格式如下 权限

UML类图和用例图

感情迁移 提交于 2019-12-05 02:51:07
软件体系结构的多视图   kruchten提出了软件体系结构的4+1视图模型,其中用例图位于中心位置(4+1视图中的1)。 逻辑视图   一种静态建模视图 进程视图   一种并发进程或任务视图 开发视图   一种子系统和构件设计视图 物理视图   一种反应物理拓扑结构及连接关系的视图、 UML图   应用开发中,uml表示法支持以下图: 用例图 类图 对象图 通信图 顺序图 状态机图 活动图 组合结构图 部署图 用例图   一个 参与者 (actor)发起一个用例(use case)。用例之间的关系分为如下: 关联(communication association) 包含(include) 扩展(extend) 类和对象   表示类的方框总是包含类名,并且可选择性的列出类的属性和操作.   对象关名称需要带有下划线,为了区分类和对象。 1. class 2. 类和属性 3. 类和属性和操作 类图   类图中,类之间的永久关系被描述成连接方框之间的连线。UML表示法支持以下三种类之间的主要关系类型: 关联关系 整体/部分关系 泛化关系 依赖关系 1. 关联关系   关联是两个或多个类之间的结构化关系。每个连接类的关联线的末端表明关联的多重性。   多重性的是的一个类的多少个实例可能和另一个类的单个实例有关。 类的多重性可以是(1),可选(0..1),零或多个() 单向关联

设计能力(二)

做~自己de王妃 提交于 2019-12-05 02:27:43
你如何考虑服务化 # 集中式与分布式 要谈微服务,那么必须建立在分布式的基础上,对于一个集中式系统也无需谈微服务。 # 集中式 集中式系统用一句话概括就是:一个主机带多个终端。终端没有数据处理能力,仅负责数据的录入和输出。而运算、存储等全部在主机上进行。 集中式系统的最大的特点就是部署结构非常简单,底层一般采用从IBM、HP等厂商购买到的昂贵的大型主机。因此无需考虑如何对服务进行多节点的部署,也就不用考虑各节点之间的分布式协作问题。但是,由于采用单机部署。很可能带来系统大而复杂、难于维护、发生单点故障(单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪)、扩展性差等问题。 # 分布式 分布式就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。计算机越多,CPU、内存、存储资源等也就越多,能够处理的并发访问量也就越大。 拿电商网站来说,我们一般把一个电商网站横向拆分成商品模块、订单模块、购物车模块、消息模块、支付模块等。然后我们把不同的模块部署到不同的机器上,各个模块之间通过远程服务调用( RPC )等方式进行通信。以一个分布式的系统对外提供服务。 # 服务化 提到分布式,一个不得不提的词就是服务化

第十三组——社团管理系统(设计部分)

左心房为你撑大大i 提交于 2019-12-04 23:14:49
一、项目其他部分链接 需求分析 二、用例图 三、类图 四、顺序图 五、人员分工 学号 姓名 分工 31701064 许沛婷 类图 31701065 俞欣悦 用例图 31701039 梁书玮 顺序图 31701040 林肯 类图 31701041 刘镓诚 顺序图 31701053 谢林专 用例图 来源: https://www.cnblogs.com/xupppp/p/11887400.html

软件工程大作业——设计图

狂风中的少年 提交于 2019-12-04 21:46:29
目录 第八组设计图 用例图 类图 顺序图 需求文档链接: https://www.cnblogs.com/chenjiji/p/11787647.html 用例图 学生 社长 社员 社联 类图 时序图 分工 姓名 学号 分工 夏闵杰 31701022 时序图,数据库e-r图 陈喆 31701008 类图,文档撰写 吴义都 31701021 用例图,时序图 来源: https://www.cnblogs.com/chenjiji/p/11885780.html

备忘录模式

天涯浪子 提交于 2019-12-04 11:23:39
24.1 如此追女孩子, 你还不乐大家有没有看过尼古拉斯·凯奇主演的《Next》 (中文译名为《预见未来》 ) ? 尼古拉斯·凯奇饰演一个可以预视并且扭转未来的人, 其中有一个情节很是让人心动——男女主角见面的那段情节: Cris Johnson(尼古拉斯·凯奇饰演) 坐在咖啡吧台前, 看着离自己近在咫尺的Callie Ferris(朱莉安·摩尔饰演) , 计划着怎么认识这个命中注定的女人, 看Cris Johnson如何利用自己的特异功能:● Cris Johnson端着一杯咖啡走过去, 说“你好, 可以认识你吗? ”被拒绝, 恢复到坐在咖啡吧台前的状态。● 走过去询问是否可以搭车, 被拒绝, 恢复原状。● 帮助解决困境, 被拒绝, 恢复原状。● 采用嬉皮士的方式解决困境, 被拒绝, 恢复原状。● 帮助解决困境, 被打伤, 装可怜, Callie Ferris怜惜, 于是乎相识了。看看这是一件多么幸福的事情, 追求一个女生可以多次反复地实验, 直到找到好的方法和途径为止, 这估计是大多数男生都希望获得的特异功能。 想想看, 看到一个心仪的女生,我们若反复尝试, 总会有一个方法打动她的, 多美好的一件事。 现在我们还得回到现实生活, 我们来分析一下类似事情的经过:● 复制一个当前状态, 保留下来, 这个状态就是等会儿搭讪女孩子失败后要恢复的状态, 你不恢复原始状态,

java中类的关系及UML中的表达

久未见 提交于 2019-12-04 04:18:42
一、6种关系(关联由强到若)   泛化(也叫继承)=实现>组合>聚合>关联>依赖 1、泛化(或者继承) 泛化(generalization):简单来说就是继承关系is-a 也是四种关系中耦合度最大的一种,通常我们在绘制UML类图的时候,子类以 带三角箭头的实线 指向父类,比如下面的UML类图中的MainActivity指向父类抽象类。 如:HashMap继承AbstractMap 2、实现 实现(Realization):在类图中就是接口和实现的关系。在UML类图中使用 带三角箭头的虚线 表示,箭头从实现类指向接口。如下图所示MainActivity实现了ICallBack这个接口: 如:HashMap实现Serializable、Cloneable、Map 3、组合 组合 (Composition) : 是关联关系的特例,表示contains-a的关系,是一种强烈的包含关系。组合类负责被组合类的生命周期。是一种更强的聚合关系。部分不能脱离整体存在。如公司和部门的关系,没有了公司,部门也不能存在了;调查问卷中问题和选项的关系;人和大脑的关系。在类图使用 实心的菱形 表示,菱形与整体连接。如下UML类图所示:( 注: 组合关系中的成员变量一般会在构造方法中赋值 。) 4、聚合 聚合(Aggregation):也是关联关系的特例,表示has-a关系,是一种不稳定的包含关系

设计模式——七大原则之合成复用原则(七)

房东的猫 提交于 2019-12-04 00:45:39
合成复用原则的定义   合成复用原则(Composite Reuse Principle,CRP)又叫组合/聚合复用原则(Composition/Aggregate Reuse Principle,CARP)。它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。   如果要使用继承关系,则必须严格遵循里氏替换原则。合成复用原则同里氏替换原则相辅相成的,两者都是开闭原则的具体实现规范。 合成复用原则的重要性   通常类的复用分为继承复用和合成复用两种,继承复用虽然有简单和易实现的优点,但它也存在以下缺点。 继承复用破坏了类的封装性。因为继承会将父类的实现细节暴露给子类,父类对子类是透明的,所以这种复用又称为“白箱”复用。 子类与父类的耦合度高。父类的实现的任何改变都会导致子类的实现发生变化,这不利于类的扩展与维护。 它限制了复用的灵活性。从父类继承而来的实现是静态的,在编译时已经定义,所以在运行时不可能发生变化。   采用组合或聚合复用时,可以将已有对象纳入新对象中,使之成为新对象的一部分,新对象可以调用已有对象的功能,它有以下优点。 它维持了类的封装性。因为成分对象的内部细节是新对象看不见的,所以这种复用又称为“黑箱”复用。 新旧类之间的耦合度低。这种复用所需的依赖较少,新对象存取成分对象的唯一方法是通过成分对象的接口。 复用的灵活性高

最后的记忆——Spring BeanFactory

旧街凉风 提交于 2019-12-03 14:07:39
本文尝试分析一下Spring 的BeanFactory 体系的 接口设计,尝试理解为什么这么做,为什么接口这么设计、为什么这么去实现,为什么需要有这个方法,为什么 这样命名?接口、类、方法的 大致用途是什么? 是否是最合理的?是否有完善的空间? 是否 让一个 同样顶级人才来设计,是否会得到一样的 设计和实现? 简称: BeanFactory 简称bf ApplicationContext 简称ac ServletContext 简称sc BeanDefinition 简称bd 接口/类图 bf的 uml 接口/类图 如下: 接口说明 ================================================================== BeanFactory ==================================================================================================== BeanFactory(简称bf,下同) 无疑是Spring最最最基础的bean工厂,所以呢,它提供了最最最基础、最最最常用(也是必须的)的接口: 通过名字获取bean,通过类型获取bean,通过名字、参数获取bean, 通过类型、参数获取bean, 是否包含给定名字的bean

UML类图总结

浪子不回头ぞ 提交于 2019-12-03 04:54:21
UML类图 1.基本概念 UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。 2.类图 用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 2.1 泛化 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性 2.2 实现 【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现 2.3 关联 【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。 【代码体现】:成员变量 2.4 聚合 【聚合关系】:是整体与部分的关系, 且部分可以离开整体而单独存在 。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。