【问题标题】:Method Calling Public/Private Members or Methods Best Practice - C#.NET方法调用公共/私有成员或方法最佳实践 - C#.NET
【发布时间】:2011-02-24 02:42:07
【问题描述】:

从私有方法和公共方法调用成员/字段的最佳做法是什么?私有方法应该总是调用私有字段还是应该调用公共成员?

private string _name;
public string Name
{ 
   get {return _name; }
   set { _name = value; }
}

public void DoSomething()
{
   _doSomething();
}


private void _doSomething()
{
   _name.ToLower();
}

【问题讨论】:

标签: c# .net oop ooad


【解决方案1】:

我更喜欢让所有代码都通过公共接口,只是为了减少代码中访问实际支持字段的位置数量。两个原因是

  • 简化调试;如果您遇到值更改或返回意外值的问题,您可以在属性 getter 或 setter 中设置断点,并轻松捕获对该值的任何访问。
  • 减少更改的影响,您可以对字段进行更改,它会直接影响代码中的极少数地方。

或者,用一个词来概括:封装

【讨论】:

  • +很多“封装”。正如 Steve McConnell 在 Code Complete 中所说,没有封装,你也没有抽象。
【解决方案2】:

在某些情况下,您的公共属性可能包含一些您需要的逻辑,在这种情况下,如果您确定要使用私有成员变量,而不是公开它,您将始终使用该属性而不是局部变量对外部世界的功能,将该特定方法设为私有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2011-09-19
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多