快捷搜索:  汽车  科技

uml结构图讲解(概述耦合UML)

uml结构图讲解(概述耦合UML)​假设在学校的一个环境中,校长作为最高的职务所有人,肯定不会直接参与到对于老师和学生的管理中,而是通过一层一层的管理体系来进行统筹规划,这里的校长,和老师学生之间就可以理解为陌生关系,而校长和中层的教务主任却是朋友关系,毕竟教务主任数量少,也可以直接进行沟通迪米特法则中的“朋友”是指:当前对象本身、当前对象的成员对象、当前对象所创建的对象、当前对象的方法参数等,这些对象同当前对象存在关联、聚合或组合关系,可以直接访问这些对象的方法注意:请不要过分的使用迪米特法则,因为其会产生过多的中间类,会导致系统复杂性增大,结构不够清晰下面还是用一个例子来说一下

品德优秀的学生接口

public interface IGoodMoralCharacterStudent { //品德优秀 void goodMoralCharacter(); } 复制代码

uml结构图讲解(概述耦合UML)(1)

好学生实现多个接口

public class GoodStudent implements IGoodGradesStudent IGoodMoralCharacterStudent { private String name; public GoodStudent(String name) { this.name = name; } @Override public void goodGrades() { System.out.println("【" this.name "】的学习成绩优秀"); } @Override public void goodMoralCharacter() { System.out.println("【" this.name "】的品德优良"); } } 复制代码

uml结构图讲解(概述耦合UML)(2)

(六) 迪米特法则

定义:如果两个类不必要彼此直接通讯,那么这两个类就不应当发生直接的相互作用,如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用

这句话的意思就是说,一个类对自己依赖的类知道越少越好,也就是每一个类都应该降低成员的访问权限,就像封装的概念中提到的,通过 private 隐藏自己的字段或者行为细节

迪米特法则中的“朋友”是指:当前对象本身、当前对象的成员对象、当前对象所创建的对象、当前对象的方法参数等这些对象当前对象存在关联、聚合或组合关系,可以直接访问这些对象的方法

注意:请不要过分的使用迪米特法则,因为其会产生过多的中间类,会导致系统复杂性增大,结构不够清晰

下面还是用一个例子来说一下

假设在学校的一个环境中,校长作为最高的职务所有人,肯定不会直接参与到对于老师和学生的管理中,而是通过一层一层的管理体系来进行统筹规划,这里的校长,和老师学生之间就可以理解为陌生关系,而校长和中层的教务主任却是朋友关系,毕竟教务主任数量少,也可以直接进行沟通

uml结构图讲解(概述耦合UML)(3)

uml结构图讲解(概述耦合UML)(4)

教务主任类 AcademicDirector

public class AcademicDirector { private Principal principal; private Teacher teacher; private Student student; public void setPrincipal(Principal principal) { this.principal = principal; } public void setTeacher(Teacher teacher) { this.teacher = teacher; } public void setStudent(Student student) { this.student = student; } public void meetTeacher() { System.out.println(teacher.getName() "通过教务主任向" principal.getName() "汇报工作"); } public void meetStudents() { System.out.println(student.getName() "通过教务主任与" principal.getName() "见面"); } } 复制代码

uml结构图讲解(概述耦合UML)(5)

猜您喜欢: