POJOs(实体?)具有不同的属性数量,但具有相同的“含义”(如成为一篇文章)。如何设计?
问题描述:
我举个小例子:POJOs(实体?)具有不同的属性数量,但具有相同的“含义”(如成为一篇文章)。如何设计?
我们有一个简单的架构类似:
GUI - > 域< - DAL
与图形用户界面和DAL对域名指向依存性的。
现在该域名包含实体,假设下面的“订单”实体:
public class Order {
private String name;
private Collection<Article> articles;
...getter setters etc
}
现在想象一下2种情况,一是我们需要的物品(比如图形用户界面层只是要求进行订单的列表,需要除了文章以外的所有订单细节)以及我们不需要它们的一个订单(包括所有文章的一个订单)。
我该如何最好地设计它? 2个POJO?遗产?
答
在某些情况下,为班级使用两个(或更多)接口是明智的。特别是如果实体处于同一个数据库表中,但您只想限制使用情况,那么确实不存在(技术上讲)几种类型的实体。
因此,理论上可以传递一个Order Object而不实际包含集合中的任何文章? 或者如你所说,它会更好,在它前面放置一个接口来隐藏空集合? –
如果在业务逻辑中使订单没有文章是有意义的,那么您有两种选择。将空集合保留在那里,或者使用一个接口来强调这个订单没有文章的事实,并且它永远不会拥有它们。 – Kayaman