程序的优化设计要高内聚低耦合,即:本类的行为尽量在本类中完成,不依赖第三方类,类与类的联系程度尽量最低,最好达到可拆卸
在java中类与类的关系也是设计模式的重要基础,java软件的开发分为OOA,OOD,OOP以及测试和维护
OOA:面向对象分析(了解需求)
OOD:面向对象设计(设计类和类中属性行为,以及类与类的关系,画UML图表示)
OOP:面向对象编程(实际编码)
java类的三大关系:依赖(泛化,关联),聚合,组合
依赖:类与类存在引用,一个类用到了另一个类,注:但依赖关系是整体与整体关系,如小明向小王借铅笔这是依赖关系,而电脑和鼠标却不是依赖关系因为虽然存在引用,但并不是平等事物的关系,鼠标没有电脑不能单独使用,而小明没有小王也能够正常生活(排除其他因素)
聚合:类与类存在可分割的引用,一个类引用了另一个类,但另一个类可以不具体实现,听起来和依赖差不多,但并不相同,他们定义的方向不一样,注:聚合是整体与部分的关系,部分脱离整体也可以单独实现的,如上面的电脑和鼠标,电脑没有鼠标也能用
组合:类与类存在不可分割的引用,一个类引用了另一个类,但另一个类必须要被实现,组合也是整体和部分的关系,但部分不能脱离整体,在整体中必须被实现,如整体没有了部分将不再完整 ,如:汽车和轮胎,没有轮胎的汽车是没啥用的,所以轮胎必须再汽车中得到实现,
依赖的特例:
关联:定义和依赖相似,分为单向关联和双向关联
单向关联:A类和B类,A类引用了B类但B类没有引用A类,例:小明向小王借了支铅笔,小王没有借小明东西
双向关联:A类和B类向互引用,例:小王同时也向小明借了个女朋友
泛化(继承):不多说
依赖和聚合,组合的区别:
依赖关注的是整体和整体的关系,整体与整体指的是平级的类,聚合与组合关注的是整体与部分的关系,聚合是整 体和部分的可拆分,组合是不可拆分
高内聚:在Java设计中,本类行为尽量在本类中实现,不依赖,聚合,组合其他类
低耦合:一般在Java类的耦合程度 组合>聚合>依赖,代码尽量减少耦合程度,一般要实现代码的可插拔,用聚合和组合,注:前面说的或许会矛盾,虽然依赖的耦合性最低,但并不能实现代码灵活扩展性,聚合的插拔性好,
高内聚和低耦合只是一个最平衡的思想
UML的类图使用
UML工具(staruml)下载地址:http://staruml.io/download/releases/StarUML%20Setup%203.2.2.exe
UML(统一建模语言):uml是软件设计的一个主要的工具
UML的常用图:用例图
类图
时序图
部署图
活动图等等
我们主要说类图:在uml类图中,依赖,聚合,关联由不同指向箭头表示
不同连线代表不同关系,本图是个垃圾图,之后不想写了
Comments | NOTHING
Warning: Undefined variable $return_smiles in /www/wwwroot/wql_luoqin_ltd/wp-content/themes/Sakura/functions.php on line 1109