大多数情况下,大多数C#类成员都应设为私有,以防万一我希望其他类对其进行修改(然后将它们公开)?我看到大多数教程都将所有班级成员公开。我开始认为这可能是不好的做法。
想了解一般的软件工程原理。
示例:
public class Product {
public int ProductID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public string Category { get; set; }
}
答案 0 :(得分:0)
要在应用程序上下文中回答您的问题...
您的示例是Model 1 的示例。它的属性是公开的,因为:
按照惯例,模型中将包含具有getter和setter的公共属性。 2
通常,属性是公共的(或受保护的或内部的),字段是私有的。
属性应以某种方式公开。例如,模型公开了一些属性。
私有字段适合于依赖项。例如,在来自链接存储库的ProductController
3 中:
public class ProductController : Controller {
private IProductRepository repository;
// ...
public ViewResult List(int page = 1) {
// Use repository, only in ProductController
// ...
}
}
P.S。关于“通用软件工程原理”的问题有可能由于主要基于意见而被封闭。请参阅以下堆栈溢出帮助主题:How do I ask a good question?