gpt4 book ai didi

c# - 在 C# 中访问内部绑定(bind)类方法的更好方法是什么?

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

什么是访问内部绑定(bind)类的更好和优化的方式,

  1. 通过公共(public)属性(property)

    class MyClass1
    {
    public MyClass2 m_myClass2 { get; set; }

    public MyClass1(MyClass2 myClass2)
    {
    m_myClass2 = myClass2;
    }
    }

    class MyClass2
    {
    public void MyClass2Method()
    {
    Console.WriteLine("Hello World!");
    }
    }

    class MyClass3
    {
    public void MyClass3Method(MyClass1 myClass1)
    {
    myClass1.m_myClass2.MyClass2Method();
    }
    }
  2. 通过方法调用

    class MyClass1
    {
    private readonly MyClass2 m_myClass2;

    public MyClass1(MyClass2 myClass2)
    {
    m_myClass2 = myClass2;
    }

    public void MyClass1AccessMyClass2Method()
    {
    m_myClass2.MyClass2Method();
    }
    }

    class MyClass2
    {
    public void MyClass2Method()
    {
    Console.WriteLine("Hello World!");
    }
    }

    class MyClass3
    {
    public void MyClass3Method(MyClass1 myClass1)
    {
    myClass1.MyClass1AccessMyClass2Method();
    }
    }

通过类 MyClass3 调用 MyClass2 的方法 MyClass2Method 的最佳实践是什么。 MyClass3 中未引用 MyClass2。

方式 1 还是方式 2

最佳答案

您遇到了一个名为 Law of Demeter 的软件原理,这基本上是尽可能少的知识原则(实用)

通常最好只访问 Myclass1 上的方法,而完全不知道任何其他类的存在。

更好的方法可能是通过一个取决于实际上下文的接口(interface)。

关于c# - 在 C# 中访问内部绑定(bind)类方法的更好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45708522/

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