서비스 계층 개체가 "서비스"DAO 계층 개체를 서비스 할 수 있습니까? 아니면 제대로 계층화 된 아키텍처의 무결성을 위반합니까?서비스 계층 개체가 DAO 계층 개체를 "서비스"할 수 있습니까?
예를 들어,
class MyService {
}
class MyDao {
private MyService myService;
}
서비스 계층 개체가 "서비스"DAO 계층 개체를 서비스 할 수 있습니까? 아니면 제대로 계층화 된 아키텍처의 무결성을 위반합니까?서비스 계층 개체가 DAO 계층 개체를 "서비스"할 수 있습니까?
예를 들어,
class MyService {
}
class MyDao {
private MyService myService;
}
나는 그것을 할 것입니다. DAO는 데이터베이스를 다뤄야합니다. 서비스는 다른 서비스와 DAO를 사용하여 유스 케이스를 수행합니다. DAO 및 기타 필요한 서비스에 서비스를 요청하는 것이 좋습니다.
이 배열에는 순환 종속성이 발생할 위험이 있습니다.
+1 '순환 의존성' – Vrushank
DAO 개체로 서비스를 구성하는 표준 방법은 서비스가 DAO를 캡슐화하게하는 것입니다.
public class Service {
private DAO dao;
}
public class DAO {}
이 서비스가 여러 DAO 객체를 캡슐화 수 있도록, 또는 서비스에서 트랜잭션 경계 설정과 같은 추가 논리를 제공하기 위해, 예를 들어, 유용합니다.
그 반대의 경우가 있습니까? http://c2.com/cgi/wiki?TellDontAsk에 따라 질문하지 말것 – RNJ
Hvant는 DAO/DTO 패턴을 읽습니까? –