关于.net:C#依赖注入示例

C# Dependency Injection Sample

我想知道在处理依赖项注入时让对象从实现接口的类继承是否有意义例子

1
2
3
4
5
6
7
8
9
10
public interface IPeople
    {
        string Name { get; set; }
        int Age { get; set; }
        string LastName { get; set; }

    }

public class CPeople : IPeople
    {..implemented IPeople Methods..}

这样我只需要在一个地方实现接口。我只是不确定这是否会被认为是一个很糟糕的结合。

1
2
3
4
5
6
7
8
9
public class Dad : CPeople
    {
    }



public class Mom : CPeople
    {
    }

所以在我的控制器里

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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();
    }


是的,这被认为是松散耦合的,因为控制器不需要对接口定义之外的内部对象有任何了解。

如果你想让父母分开,你可以为他们实现接口(即使他们是空的),并使用这些接口来确保父母同时是IMOM和IDAD。