3
)

현재 마커 인터페이스를 C#으로 구현하려고합니다. 하지만 지금까지 해본 적이 없으니 조언을 부탁드립니다.마커 인터페이스 (C#

짧은 내 문제 :
인터페이스 팩토리가 있으며 공장에는 속성 또는 메소드가 없기 때문에 마커 인터페이스 여야하는 몇 개의 하위 인터페이스가 포함되어 있습니다. 마커 인터페이스는 인터페이스 팩토리를 구현해야합니다. 내 마커 인터페이스는 예를 들어 자동차, 트럭 등입니다. 마커 인터페이스는 MyBMW, MyAUDI 등의 자동차 용으로 구현됩니다. 어떻게 그런 패턴을 구현할 수 있습니까? 감사!

interface Factory 
{ 
    string[] process (string [] entry); 
} 
+2

마커 인터페이스를 게시하지 않았습니다. 그것은 방법이 있습니다. 마커 인터페이스는 구현할 아무 것도 ** 없습니다. – Oded

+0

필자는 솔루션을 결정하는 대신 문제를 제시하고 마커 인터페이스가 전혀 유용한 지 여부를 확인하는 방법을 묻습니다. – Aliostad

+0

예, Car, Trucks 및 Bus는 인터페이스 Factory를 사용해야하지만 MyBMW 및 MyAUDI는 마커 인터페이스 Car를 구현해야하므로 Car, Truck 및 Bus에는 메소드가 없으며 필요한 메소드가 포함되어 있습니다. – senna

답변

1

인터페이스 대신 클래스 대신 속성을 사용하는 것이 좋습니다.

그러면 속성이 설정 될 때 특정 인스턴스를 처리하는 방법을 코드에서 결정할 수 있습니다.

+1

나는 여전히 인터페이스를 선호합니다. 속성에는 위치가 있지만 마커 인터페이스는 '느낌'이 좋습니다. –

+2

클래스에 적용된 특성은 일반적으로 파생 클래스에 영향을주지 않습니다 (클래스의 특성을 검사하여 부모 클래스의 특성도 확인할 수있는 코드의 경우 가능). 대조적으로, 클래스가 마커 인터페이스를 구현하면 모든 파생 클래스도 그렇게합니다. 파생 클래스가 특성을 광고하도록하려면 마커 인터페이스를 사용하십시오. 파생 클래스가 특성을 광고할지 여부를 결정할 수있게하려면 속성을 사용하십시오. – supercat