考虑避免代码复制,我每次开始开发新系统时都会遇到一个问题:
假设我们有一个系统,我有一个客户,必须在存储库中将其CRUD并将其显示为Web服务中的资源。
考虑与客户相关的课程,我们会有(好吧,我永远不会将这些名称用于实际):
似乎我将拥有三个实体,所有客户的属性都将出现在每个类中。我想知道是否有一种方法或模式来整合同一实体中的这三个类,简称为“客户”。
这样,每当我需要创建“Customer”的新表示时(例如,如果我想将其表示为Json元素),我就不需要为它创建一个新类。我知道这是一个非常特殊的问题,但我只是想知道它是否比我现在所做的更容易(和更好看)。
答案 0 :(得分:1)
假设您在不同的应用程序中使用相同的语言......
构建代理类和后端类。
后端类靠近您的数据运行,并且仅用于向您的代理提供数据。
您的代理在任何客户端上运行,并将后端端点的位置作为初始化参数。在代理对象上调用get / set时,它会处理您的验证和业务规则,然后将请求交还给后端类,后端处理持久保存数据的实现细节。
您有两层抽象:一层用于数据持久性,另一层用于业务规则。
>>>>> Nathan