在考虑避免代码复制时,我每次开始开发新系统时都会遇到一个问题:
假设我们有一个系统,我有一个客户,必须在存储库中对其进行 CRUD 并将其显示为 Web 服务中的资源。
考虑与客户相关的类,我们会(好吧,我永远不会真正使用这些名称):
- CustomerEntity,表示用于做系统逻辑的实体;
- CustomerRepositoryEntity,表示将要存储的表行;
- CustomerXMLEntity,代表 XML 节点“客户”;
似乎我将拥有三个实体,并且所有客户的属性都将在每个类中。我想知道是否没有办法或模式将这三个类合并到同一个实体中,简称为“客户”。
这样,每次我需要创建“客户”的新表示时(例如,如果我想将其表示为 Json 元素),我不需要为其创建新类。我知道这是一个非常特殊的问题,但我只是想知道它是否比我现在的做法更容易(和更好看)。