我没有找到解决此特定问题的任何问题。更好的方法是:允许服务(或外观)访问多个DAO(与数据库对话的类)或仅访问其他服务?
换句话说,我应该在不同的Service类之间引入相互依赖的关系,还是通过向每个Service类注入一个以上的DAO(如有必要)来使Service类彼此完全独立呢?
我发现两种策略都能胜任,但是我希望保持一致,并使应用程序尽可能模块化和可维护。
我认为允许或禁止某项服务调用另一项服务或多个DAO是主观的。我试图避免不必要的代码或奇数耦合,只是为了满足有关层通信的某些规则,而遵循简单,清晰的对象的基本OO原则通常会导致折衷。
如果服务B需要服务A中已经包含的其他功能,则应调用它。我试图减少服务之间的依赖性,并且通常最终会定义一小组“基本”服务,可以从其他服务中调用这些服务。
在服务中创建仅包装对DAO的调用的方法是没有意义的(我认为),因此我更愿意让服务调用所需数量的DAO。同样,具有许多DAO的服务或方法表示应重构的内容或需要调整的数据模型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句