|
|
1
8
我认为注入服务层更有意义,因为它知道工作单元。如果您的用例需要多个DAO参与一个工作单元,则需要一个服务来“拥有”事务。 此外,它是面向服务架构的本质。忘掉WS-*;服务映射到用例和业务流程。 |
|
|
2
6
假设整个后端不仅仅是一个巨大的CRUDAPI,您将经常看到在服务层调用业务逻辑。业务逻辑可能直接在服务方法本身中(也称为“贫血域模型”),或者服务层必须只负责调用传递给DAO层的实体上的业务方法(“富域模型”)。您可能还会看到在服务层中进行的安全性或审计等工作。或者,可以通过面向方面编程(AOP)将交叉关注点(如安全性或审计)应用于服务层。 |
|
3
3
创建类只有一个原因:在固定边界后面隐藏一些实现细节等。在本例中,您有一个名为FoodService的服务和一个了解各种DAO的实现类。你在隐瞒什么?
如果它们的存储方式永远不会改变,那么您可能不需要这个。但是如果您的DAO被一种不同的机制所取代——比如分布式的Google BigTable——您可能更愿意不需要修改所有的代码类型。 当然,你总是有机会开始携带健康和美容用品,因此需要另一门课程。(事实上,如果有一个方法可以告诉您可以访问哪些类型的内容,然后有一个方法可以访问给定类型的内容,这不是更好吗?) |
|
|
4
2
MVC主要是一种表示模式,大多数非平凡系统使用分层方法,其中至少有表示层、业务层和数据访问层。在您的情况下,您可以直接暴露DAOS,但在中间保持业务层可以更好地封装业务逻辑并有助于系统扩展性。假设您对肉的存放位置有新的要求:
|
|
|
5
0
做远程处理的最好方法是根本不做远程处理。
请记住,从整体上看,程序员的时间比硬件花费的更多。 |
|
|
simply lemon · python上链表的添加方法 1 年前 |
|
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 2 年前 |
|
|
P N Singh · 在CPP Oops中调用对象而不创建它 2 年前 |
|
|
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 2 年前 |
|
|
Andy Votava · 从父类定义调用学生方法 2 年前 |