다른 클래스가 작동해야하는 클래스를 올바르게 선언하는 적절한 방법은 무엇입니까? 예를 들어C에서 함수 - 구성 요소 관계를 수행하는 방법
,
public class Car
{
IEngine Engine { get; set; }
}
interface IEngine
{
void go();
}
public class DieselEngine
{
void go() {}
}
자동차 클래스는 객체의 기능의 대부분을 정의합니다. 그러나 일부 기능은 일부 인터페이스를 지원하는 하위 오브젝트로 위임됩니다.
올바른 방법인가요? 자동차를 추상화해야합니까? 또는 엔진? 아니면 둘다? 아마도 IEngine을 버리고 DieselCar를 하위 클래스로 만들어야할까요?
public class Car
{
abstract void go();
}
public class DieselCar : Car
{
void go() {}
}
다른 방법으로이 작업을 수행 할 수 있습니까? 그리고 그것은 최고의 하나입니까?
여러 유형의 '자동차'를 사용하려는 경우이 방법을 사용하면됩니다. 그런 다음 상속을 극대화하기 위해 추상 팩토리 디자인 패턴을 구현할 수 있습니다. 최선의 것은 귀하의 상황에 달려 있습니다. –