1
종속성 주입을 처리 할 때 인터페이스를 구현하는 클래스로부터 객체를 상속받는 것이 합리적인지 궁금합니다. 예제C# 의존성 주입 샘플
public interface IPeople
{
string Name { get; set; }
int Age { get; set; }
string LastName { get; set; }
}
public class CPeople : IPeople
{..implemented IPeople Methods..}
이 방법은 한 곳에서만 인터페이스를 구현하면됩니다. 이것이 loosly coupled로 간주 될지 확실하지 않습니다.
public class Dad : CPeople
{
}
public class Mom : CPeople
{
}
그래서 내 컨트롤러 안에는
public class Parent
{
IPeople objMom;
IPeople objDad;
Parents m_Parent;
public void factoryMethod()
{
objMom = new Mom();
objMom.Age = 32;
objMom.Name = "Jane";
objMom.LastName = "Doe";
objDad = new Dad();
objDad.Age = 25;
objDad.Name = "John";
objDad.LastName = "Doe";
m_Parent = new Parents(objMom,objDad);
}
public override string ToString()
{
return m_Parent.Mom.Name + " " + m_Parent.Mom.LastName + " is " + m_Parent.Mom.Age + " years of age, " + m_Parent.Dad.Name + " " + m_Parent.Dad.LastName + " aged " + m_Parent.Dad.Age.ToString();
}
제발, C#에서 헝가리어 표기법을 사용하지 마십시오. 모든 것이 클래스와 객체이기 때문에 그것은 이해가되지 않습니다. 단지 그것을 보려고 상처를줍니다. – Konamiman
엄마와 아빠 클래스가 동일하다면 두 클래스가 왜 서로 다른 두 클래스를 작성해야합니까? 당신은 bool/enum을 가진 하나의 클래스가 그것이 어머니인지 아버지인지를 말함으로써 동일하게 성취 할 수 있습니다. 어쩌면 당신의 모범이 너무 단순 해 의미있는 것일까? –
@ Konamiman : 헝가리 표기법이 유용 할 때가 있습니다 (헝가리 대 시스템 헝가리 - http://en.wikipedia.org/wiki/Hungarian_notation#Systems_vs._Apps_Hungarian). 나는 이것이 그들 중 하나가 아니지만 동의한다. –