假设我已经定义了一组项目。这些项目必须分组到不同的集合中。例如项目可以像
public Item {
public int id;
public String name;
}
集合有自己的设置,比如哪些项目属于这个集合,集合的名称是什么等等。现在所有的东西都存储在,比如 xml 结构中。
我的第一个想法是编写以下元素:
xml 解析器获取集合的数据并转换为 MySet pojo
xml 解析器获取所有项目并转换为项目 pojos 列表
无状态类服务类说 ItemsSetCreator 计算最终 ItemsSet 对象,其中包含基于 MySet 的集合定义和项目列表,例如
class ItemsSetCreator { public ItemsSet createItemsSet(List<Item> items, MySet set) { // ... } }
但另一种方法是稍微丰富模型并编写如下内容:
MySet 类能够获取所有项目,基于 xml-data 对它们应用内部逻辑并提供最终的 ItemsSet 作为结果
等等
我不知道哪个更好。我知道例如 Spring 提倡更多以服务为中心的方法,但最近有很多关于避免贫血模型的讨论。