2012-10-14 2 views
0

서비스 계층 개체가 "서비스"DAO 계층 개체를 서비스 할 수 있습니까? 아니면 제대로 계층화 된 아키텍처의 무결성을 위반합니까?서비스 계층 개체가 DAO 계층 개체를 "서비스"할 수 있습니까?

예를 들어,

class MyService { 

} 

class MyDao { 
    private MyService myService; 
} 
+3

그 반대의 경우가 있습니까? http://c2.com/cgi/wiki?TellDontAsk에 따라 질문하지 말것 – RNJ

+0

Hvant는 DAO/DTO 패턴을 읽습니까? –

답변

3

나는 그것을 할 것입니다. DAO는 데이터베이스를 다뤄야합니다. 서비스는 다른 서비스와 DAO를 사용하여 유스 케이스를 수행합니다. DAO 및 기타 필요한 서비스에 서비스를 요청하는 것이 좋습니다.

이 배열에는 순환 종속성이 발생할 위험이 있습니다.

+1

+1 '순환 의존성' – Vrushank

0

DAO 개체로 서비스를 구성하는 표준 방법은 서비스가 DAO를 캡슐화하게하는 것입니다.

public class Service { 
    private DAO dao; 
} 
public class DAO {} 

이 서비스가 여러 DAO 객체를 캡슐화 수 있도록, 또는 서비스에서 트랜잭션 경계 설정과 같은 추가 논리를 제공하기 위해, 예를 들어, 유용합니다.