Java 在不同包中的两个不同类之间设置交互
我有这样的想法: 我需要知道连接互动的最佳实践是什么 在左边,我们有一个RoleSlot,由一名指定员工和1-5个ProjectRoles组成。如果我点击其中一个项目角色,那么我们可以在右边查看它的项目职责 问题是,我应该怎么做 此ProjectManager类和RoleSlot类位于不同的包中 我应该: 为ProjectManager类中的每个小ListView设置一个侦听器?这需要以某种方式访问RoleSlot的私有ListView 或者我应该让ProjectManager实现RoleSlotInterface并定义一个类似handleSelectedRole的方法吗 还是有其他更好的选择Java 在不同包中的两个不同类之间设置交互,java,listview,interface,javafx,listener,Java,Listview,Interface,Javafx,Listener,我有这样的想法: 我需要知道连接互动的最佳实践是什么 在左边,我们有一个RoleSlot,由一名指定员工和1-5个ProjectRoles组成。如果我点击其中一个项目角色,那么我们可以在右边查看它的项目职责 问题是,我应该怎么做 此ProjectManager类和RoleSlot类位于不同的包中 我应该: 为ProjectManager类中的每个小ListView设置一个侦听器?这需要以某种方式访问RoleSlot的私有ListView 或者我应该让ProjectManager实现RoleSlo
如果可能的话,我想知道利弊。更干净的代码是更好的代码。我会在RoleSlot类上公开一个只读selectedRoleProperty,在ProjectResp类上公开一个roleProperty。我会在ProjectManager类中设置它们之间的绑定
请看另一个问题的相关答案,该问题讨论了如何实现and。这与你的问题并不完全相同,但可能会让你对如何处理你的案件有所了解。
class RoleSlot {
public ReadOnlyObjectProperty<ProjectRole> selectedRoleProperty();
}
class ProjectResp {
public ObjectProperty<ProjectRole> roleProperty();
}
class ProjectManager {
private final RoleSlot roleSlot;
private final ProjectResp projectResp;
public ProjectManager() {
roleSlot = ...;
projectResp = ...;
projectResp.roleProperty().bind(roleSlot.selectedRoleProperty());
}
}