2014-03-01 1 views
0

n 계층 응용 프로그램을 개발할 때 서비스 A가 서비스 B에서 메서드를 사용해야한다고하는 시나리오가 발생했습니다. 논리를 복제하고 싶지 않습니다. 그러나 나는 서로를 부르는 서비스가 없어야하는 것처럼 보이지 않는다. 규칙을 위반하지 않고이 상황을 처리하는 가장 좋은 방법은 무엇입니까? 공용 메서드를 서비스 B에서 가져 와서 다른 클래스에 추가하고이 클래스에서 두 가지 서비스를 모두 상속받는 것에 대해 생각하고 있습니다.서비스 계층 패턴 : 여러 서비스에 걸쳐있는 비즈니스 논리

답변

1

의존성 주입.

서비스 A는 인터페이스로 표현되는 잘 정의 된 서비스가 주입 될 것으로 기대합니다. 이 방법으로 서비스 B는 동일한 계약을 구현하는 다른 서비스와 마찬가지로 삽입 될 수 있습니다.

+0

위의 작업을 생각하고있는 접근 방식을 위반하고 있습니까? – user1790300

+0

DI는 완벽하게 괜찮습니다. 반면에 상속은 높은 결합을 가져옴에 따라 상처를 줄 수 있습니다. –

+0

보다 효율적인 접근 방법은 무엇입니까? – user1790300