1
我在想,如果是有意義的有物體從依賴注射 例如C#依賴注入樣品
public interface IPeople
{
string Name { get; set; }
int Age { get; set; }
string LastName { get; set; }
}
public class CPeople : IPeople
{..implemented IPeople Methods..}
這樣,我只需要實現一個接口打交道時實現該接口的類繼承地點。我不確定這是否會被認爲是鬆散耦合的。
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 2009-12-13 20:16:34
如果你的媽媽和爸爸課程是相同的,爲什麼同時爲它創建兩個單獨的課程?你可以通過讓一個類使用bool/enum來表達它是否是母親或父親來實現。也許你的例子太簡單了,沒有意義? – 2009-12-13 20:17:08
@Konamiman:有時候匈牙利符號很有用(應用程序匈牙利語與匈牙利語系統 - http://en.wikipedia.org/wiki/Hungarian_notation#Systems_vs._Apps_Hungarian)。我同意,但這不是其中之一。 – 2009-12-13 20:20:30