我刚开始写一个小应用程序。我现在正在努力工作,我正计划做更好的事情。我发现了一个错误。 我有一个静态字段的类,它是一个arraylist,它的访问是公开的。 其他类使用它,我想知道从其他类访问此字段的最佳选择是什么。 首先我想到的是它刚刚获得这个列表的getter。 但是我没有其他的想法,我决定问什么另外的选择。
问候, 贝蒂
答案 0 :(得分:0)
可以用不同的方式完成,这是其中之一:
public class TestService
{
private static readonly List<string> list = new List<string>();
public IEnumerable<string> List
{
get { return list; }
}
//list manipulation methods...
}
基本上,您应该防止该类列表外的操作(即添加/更新/删除项目)。主要是因为该类应该仅负责直接列表操作。
那就是IEnumerable<string>
类型背后的原因。不要在此属性上滥用List<string>
施法!
现在,当您确定列表不能从类外部直接操作时,您应该在TestService
类中公开公共方法。每个方法应该只有一个责任和更改的理由(SRP),换句话说,您应该有单独的方法来添加,更新和删除项目。