1、操作Publicprotectprivate泛化、抽象类、抽象操作类中最重要的是关系:【1】依赖一对象之间的依赖:箭头的指向表示被依赖的一方。UserManager的变化会影响到UserAction,通常是在controller层依赖于Model层。从代码上讲:有两个类UserManager.Java和UserAction.java。在UserAction.java中的代码为Public class UserAction.() private UserManager userManager=new UserManager(); public void execute () userManage
2、r.addUser();或者: Public class UserAction.() public void execute (UserManager userManager) public UserManager execute ()UserManager userManager= new UserManager();Return userManager ;依赖二包之间的依赖:包与包之间的依赖指的是包中所包含的类之间有依赖关系,从而导致包之间的依赖关系。这个就体现了各个层次之间如何相互依赖。关联:两个事物之间的一种结构性的关系。 就是实线加一个箭头。做完需求,从需求中抽象出一些概念来。两个对
3、象之间的一种引用关系【1对多,一对一,多对一】。而不是类之间的关系。箭头表示导航型。代码表示:public class User private Group group; public void setGroup(Group group) public void getGroup() public class Group private String name;在user中能访问【导航】到group中但是在group无法访问【导航】到User中。有箭头比表示单项关联,没有箭头表示双向关联或者没有关联。【导航性:】表示一个对象是否用有对另外一个对象的引用。箭头表示导航。【多重性:】一对一、一对多
4、、多对一、多对多。 一或多这些就表示多重性。一对多指的是:在内存中定义好几个User对象。而不是一个或者就是在Group中定义了多个User对象。 表示引用了多少个对象如果设置多重性为1,n表示这个关联是非空的【角色名称:】实际上代码中引用的名称,特别要注意:在Element:Group中的role添加Group会在Group端增加+group表示User中引用group,对应的java代码是在User中有个属性叫group。其实这样写是有意义的好比User类在横关联中扮演的角色是user,在竖关联中扮演的角色是Creater。在斜关联中扮演的角色是sender,就是User在不同的关联中,扮
5、演的角色不同。两种特殊的关联:聚合与组合:表示整体与部分的关系【从整体向部分划线】Aggregate表示一种聚合。空心【聚合】的或则实心【组合,组合是一种强聚合,组合表示整体与部分之间的生命周期是一致的。】的菱形。By Value 是实心的,表示组合 By Reference表示虚心的,表示聚合。聚合:部分与整体组合:是一种强聚合,表示整体与部分之间的生命周期是一致的。重要的是理解一种概念。泛化与实现:泛化就是在在java中的extends 实现就是java中的implement【接口一般用圈表示】连接使用虚线加三角。豁出来以后就变成直线了。【这是Icon表示法】另外一种表示方法:【就表示La
6、bel就是标准表示法】两种表示都表示的是一种实现的表现方式。29领域模型就是从客户那里得到第一层模型,对专业术语的理解,转化为逻辑模型在转化为代码。领域模型包括:概念【类名】、关联【类与类之间的关系】、属性【就是属性】不包括方法。1、 对该领域不熟悉,用文字说明词汇用图表来表达之间的关系,为今后的设计比较简单。2、 为设计阶段提供一些启示。就是建一些相关的类。名称,属性,关联3、 现实世界与计算机世界的一个过渡。31在建立领域模型时,作为一种关联存在group与user关联起来了,建立模型时,对付复杂类型【就是自己定义的类,好比是group类】的属性作为一种关联不在类图中表示出来,但是在代码中
7、要写出来。普通的数据类型是 int string date 。就是系统自带的例如:在User中没有group属性,但是在代码中要将其作为属性写上去,这就是属性与关联之间差别。【普通类型,复杂类型】属性中的类型的表达:直接在属性名后面加:String就可以了注意这里:老师里面应该有两个属性【有一个关联】这里不把Address与User看做一个关联,只是一个属性。Address确实是一个类,但是在User中的引用为:Public class User rrivate Address address; rublic void getAddress(Address address) return ad
8、dress;在这个User中,并没有全部实现Address的get和set方法。因此,作为一个属性存在就行了。User中会有三个属性。也可以在类中定义方法的返回值,参数,参数默认值什么的,需要option中show一下才会显示。顺序图:又叫时序图。按照时间来画的。用顺序图来描述主路径。可以看作是用例文本的图形表示。【用例的实现】返回用虚线。不会在顺序图中表示IF ELSE顺序图用于:1、对用力的实现。2、系统的控制流建模。就是系统控制在不同类之间的转换。就是对象之间是如何来交互的。【系统控制流】说明:竖线框 表示生命周期。X表示周期明显结束User比其他的矮一截,表示创建分配职责,就是箭头指向谁。竖线框表示职责所在。就是实现箭头指向谁,谁就实现这个方法。能画出这个顺序图表示在我脑子里面已经有mvc的框架了。类图,顺序图很重要。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1