java中的解耦_java-了解如何解耦

我一直试图在代码中保持低调,但我想我可能还不完全了解它.我的基本理解是,耦合是“依赖类如何相互依赖并了解彼此的行为”.我知道依赖注入是减少耦合和IoC的一种方法.

以下是我提出的一个学生,教授和课程的简单示例.一门课程有学生名单和教授名单.我有一个控制器(使用MVC),可以注入Student和Professor对象.

以下内容是否仍被认为是耦合的或紧密耦合的?这也将是DI的示例,对吗?

学生班

public class Student {

private String firstName;

private String lastName;

private int studentID;

private int address;

private int telephone;

public String getFirstName() {

return firstName;

}

public void setFirstName(String firstName) {

this.firstName = firstName;

}

public String getLastName() {

return lastName;

}

public void setLastName(String lastName) {

this.lastName = lastName;

}

public int getStudentID() {

return studentID;

}

public void setStudentID(int studentID) {

this.studentID = studentID;

}

public int getAddress() {

return address;

}

public void setAddress(int address) {

this.address = address;

}

public int getTelephone() {

return telephone;

}

public void setTelephone(int telephone) {

this.telephone = telephone;

}

}

教授班

public class Professor {

private String firstName;

private String lastName;

private int professorID;

private int address;

private int telephone;

private int salary;

public String getFirstName() {

return firstName;

}

public void setFirstName(String firstName) {

this.firstName = firstName;

}

public String getLastName() {

return lastName;

}

public void setLastName(String lastName) {

this.lastName = lastName;

}

public int getProfessorID() {

return professorID;

}

public void setProfessorID(int professorID) {

this.professorID = professorID;

}

public int getAddress() {

return address;

}

public void setAddress(int address) {

this.address = address;

}

public int getTelephone() {

return telephone;

}

public void setTelephone(int telephone) {

this.telephone = telephone;

}

public int getSalary() {

return salary;

}

public void setSalary(int salary) {

this.salary = salary;

}

}

课程课程

import java.util.List;

public class Course {

private List students;

private Professor professor;

public Professor getProfessor() {

return professor;

}

public void setProfessor(Professor professor) {

this.professor = professor;

}

public List getStudents() {

return students;

}

public void setStudents(List students) {

this.students = students;

}

}

解决方法:

我有一个控制器(使用MVC),可以注入Student和Professor对象.以下内容是否仍被认为是耦合的或紧密耦合的?

由于所有引用都是类,因此您具有紧密耦合的设计.一个好的方法是在代码中使用接口.这将允许您随时更改实现,并且不会影响应用程序的其余部分.

这也将是DI的示例,对吗?

如果将您的课程,教授和学生配置为Bean,并且在某个位置指定了在Bean实例化期间如何注入实例的方法,那么它将是一个DI示例.到目前为止,只有三个POJO类.

标签:oop,decoupling,java

来源: https://codeday.me/bug/20191120/2042015.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值