如何在 Java 中表示多级层次结构
How to represent a multilevel hierarchy in Java
我正在尝试制作一个 Android 应用程序,您可以在其中买卖物品。我 运行 撞墙了:我被困在如何表示类别和子类别上。任何类别都可以有一定数量的子类别,这些子类别还可以有子类别,其中包含字段等。
例如,假设您想出售一对手表,类别和子类别可能是:
-Jewelry
--Men
---Watches
----Rolex
甚至可能是
-Jewelry
--Men
---Watches
----Rolex
-----Models
------SubMarine
您将如何用 class 层次结构来表示它?我似乎无法找到不会以大量 classes 和难以更新的东西结束的解决方案。
我正在考虑使用 Jackson/Gson、Mysql/MSSQL 进行存储,并且很可能使用休息服务来保存它;可以与这些技术集成的答案加分。
继承是一种幼稚的方法。每个类别和子类别的子 class 无法扩展。
子类别呢?天啊。
也许更好的方法是坚持 Category
class 并使其成为 Composite,或者只创建一个 Category
实例树。这样您就可以 assemble 通过添加实例和数据而不是新的 class 类别树来满足您的需求。
我正在尝试制作一个 Android 应用程序,您可以在其中买卖物品。我 运行 撞墙了:我被困在如何表示类别和子类别上。任何类别都可以有一定数量的子类别,这些子类别还可以有子类别,其中包含字段等。
例如,假设您想出售一对手表,类别和子类别可能是:
-Jewelry
--Men
---Watches
----Rolex
甚至可能是
-Jewelry
--Men
---Watches
----Rolex
-----Models
------SubMarine
您将如何用 class 层次结构来表示它?我似乎无法找到不会以大量 classes 和难以更新的东西结束的解决方案。
我正在考虑使用 Jackson/Gson、Mysql/MSSQL 进行存储,并且很可能使用休息服务来保存它;可以与这些技术集成的答案加分。
继承是一种幼稚的方法。每个类别和子类别的子 class 无法扩展。
子类别呢?天啊。
也许更好的方法是坚持 Category
class 并使其成为 Composite,或者只创建一个 Category
实例树。这样您就可以 assemble 通过添加实例和数据而不是新的 class 类别树来满足您的需求。