Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
服务层对象可以“服务”DAO 层对象吗?或者这是否违反了适当分层架构的完整性?
例如,
class MyService { } class MyDao { private MyService myService; }
我不会这样做的。DAO 应该处理数据库;services 管理其他服务和 DAO 以实现其用例。最好让服务调用 DAO 和任何其他所需的服务。
这种安排可能会导致循环依赖。
用 DAO 对象构造服务的标准方法是让服务封装 DAO。
public class Service { private DAO dao; } public class DAO {}
这很有用,例如,让服务封装多个 DAO 对象,或提供额外的逻辑,例如服务中的事务划分。