gpt4 book ai didi

java - 是 M :N a bad style in OOP? 有没有更好的办法来管理 m :n relationships?

转载 作者:行者123 更新时间:2023-12-02 12:42:43 24 4
gpt4 key购买 nike

我必须编写一个 Android 应用程序,我问自己是否有更好的方法来设计我的应用程序。

我的问题:我必须创建包含人员的组。在我的第一个 Activity 中,我想显示此人所属的所有组。当我单击一个组时,我想显示属于该组的所有人员。

问题:那么我需要 M:N 关系吗?这是一个糟糕的设计吗?他们是否有更好的想法来设计应用程序?

public class Person {
private List<Group> allGroups
}


public Group {
private List<Person> allGroupMembers
}

我已经搜索了大约 30 分钟,但找不到我的问题的答案。

我期待您的帮助。

最佳答案

您应该创建三个类:

public class Person {
private int id_person; (primary key)
....
}


public class Group {
private int id_group; (primary key)
......
}

public class PersonGroup {
private int id_person_group (primary key)
private int id_person
private int id_group
....
}

PersonGroupe 表示人与组之间的关系。

因此,如果一个人 A 存在于 Groupe X 中,您应该有一个 PersonGroup 类的实例

因此,如果您想获取人员 X 所属的所有组。您使用此查询(

Select * from Group
Join PersonGroupe on PersonGroupe.id_group = Group.id_group
where PersonGroupe.id_person = X.id_person (id_person of X)

如果您想获取 Groupe Y 所属的所有人员:

Select * from Person
Join PersonGroupe on PersonGroupe.id_person = Person.id_person
where Groupe.id_group = Y.id_group (id_group of Y)

关于java - 是 M :N a bad style in OOP? 有没有更好的办法来管理 m :n relationships?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44866594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com