【发布时间】:2011-01-21 21:08:29
【问题描述】:
我正在使用带有 Web 应用程序的存储库设计(存储库(数据层)将模型(对象)暴露给业务层,然后将其用于数据层 (ui)。对象或对象列表在层之间传递这种类型的实现。
我发现我的业务层正在成为一系列管理器类型类,它们都有通用的 GetAll、GetById、Save、Delete 类型方法。这在许多非常小的简单对象中很常见。这是关注的领域或改进的机会(一系列较小的业务经理课程)。我正在寻找避免将整个系列的较小业务管理器类映射到仅执行获取/保存/删除对象的较小对象的选项。
更接近应用程序功能的较大对象除了 get/save/delete 类型的方法外还有许多方法(这些管理器类都可以)。
我认为有一种设计模式或实现将允许我拥有一个驻留在业务层中的管理器类,该管理器类将分别接受一个对象作为特定对象类型的参数和 get/save/delete 方法知道要启动的存储库对象的类型并将对象传递给它以进行操作。
这里的好处是我可以拥有一个通用管理器类来将较小类型对象的保存/删除/获取传递给适当的存储库类,从而减少许多较小的管理器类。
关于如何实现这一点的想法? 谢谢
【问题讨论】:
标签: c# design-patterns