gpt4 book ai didi

C# 依赖注入(inject)示例

转载 作者:太空宇宙 更新时间:2023-11-03 11:51:55 25 4
gpt4 key购买 nike

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

public interface IPeople
{
string Name { get; set; }
int Age { get; set; }
string LastName { get; set; }

}

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

这样我只需要在一个地方实现接口(interface)。我只是不确定这是否会被视为松散耦合。

public class Dad : CPeople
{
}



public class Mom : CPeople
{
}

所以在我的 Controller 里面我会有

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();
}

最佳答案

是的,这被认为是松耦合的,因为 Controller 不需要了解接口(interface)定义之外的任何内部对象。

如果您关心将妈妈/爸爸分开,您可以只为它们实现接口(interface)(即使它们是空的)并使用它们来确保 parent 既是 IMom 又是 IDad。

关于C# 依赖注入(inject)示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com