2009-09-05 2 views

답변

4

클래스 A의 인스턴스를 클래스 B의 인스턴스에 삽입 할 때 A는 B가 의존 할 수있는 계약 (일반적으로 인터페이스로 지정됨)을 충족한다는 점에서 기본 작업을 수행합니다 (단, 클래스 또는 수퍼 클래스). B가 계약을 만족하지 않으면 행동이 정의되지 않습니다.

이렇게 결론을 내 렸습니다.이 방식으로 상호 작용할 때 테이블 구조가 일치하는지 여부는 신경 쓰지 않아야합니다. 인터페이스가 올바른지 염려해야합니다.

또한 ORM 의미에서 이러한 종류의 OO 엔티티는 내 경험에 의하면 주입되지 않는 경향이 있습니다. 일반적으로 서비스 제공 업체에서 인젝션이 발생합니다. 한 말 클리 터스

+0

귀하가 참조하는이 대체 능력을 Liskov 대체 원리라고합니다. – Llyle

1

...

public class CustomerService //may implement extend from some base 
{ 
    public ICustomerDao customerDAO { get; set; } //the injected object 

} 

CustomerService은 당신이 IoC 컨테이너를 사용하여 의존성 주입과 일부 CustomerDao를 주입 할 수 있습니다 (예를 들어) 비즈니스 레벨의 클래스입니다. 당신이 주사 할 수있는 것은 ICustomerDao의 계약입니다. 그래서 그것을 구현하는 모든 것이 여기에 주입 될 것입니다.

관련 문제