在我几乎完成的一个最近的项目中,我们使用了一种架构,它与 Web/服务层的交互使用 XXXManager 类作为其顶层。
例如,有一个按计划运行的 Windows 服务,它将来自多个不同数据源的数据导入我们的系统。在该服务中,调用了几个“管理器”类,即 CPImportScheduleManager、CPImportProcessManager 等。
现在,这些 Manager 类所做的不仅仅是将方法传递到链上以在 Web/服务层中使用。例如,我的 UserManager.Register() 方法不仅通过较低级别的程序集持久化用户,而且还向用户发送 WAP 推送并确定使用的手机等。
有人向我建议,这种类型的架构是试图让 OOP 适应过程模型的常用方法。我可以在这里看到他们的观点,但我想知道的是,使用这个顶级类集,任何 Web/服务层都可以简单地调用相同的通用方法,而无需重写代码。因此,如果我想编写一个在某个时候注册用户的 Web 服务,我可以再次调用 UserManager.Register() 方法,而无需再次重写所有逻辑。
我从来都不是解释自己的最佳人选,但如果我的胡言乱语有道理,请随时就您的替代方案提出建议。
干杯,克里斯。