Web 应用程序中的方法应该是 public 还是内部方法?
Should methods in a web app be public or internal?
在 Web 应用程序的范围内,将方法的可访问性声明为 public
与 internal
的含义是什么?
Web 应用程序通常包含仅在应用程序本身内使用的方法。例如,电子商务网站可能包含检索用户订单历史记录的方法。沿着:
public List<Orders> RetrieveOrders() {
//code goes here
}
如果此方法包含在 class 库中,则 public
和 internal
访问修饰符的重要性相当简单; public 方法可以在库本身之外访问,内部方法则不能。
在 Web 应用程序方面有任何实际差异吗?
编辑:
有人建议我的问题与 What is the difference between Public, Private, Protected, and Nothing? 重复。我不是要解释访问修饰符。我想问的是,对于 网站 中的方法,访问修饰符是否有任何意义。
通常 public
应仅限于外部可见的方法 - 这包括 public API 和由于技术限制而必须公开的方法(即 classes ASP.Net 页)。
对于 Web 应用程序,通常没有 "public API",因为此类库通常不会被外部用户使用。
因此,对于 Web 应用程序开发,internal
和 public
之间在大多数情况下没有实际差异。仅使用 public
会带来一些小便利,因为您不再需要 InternalsVisibleTo
单元测试属性。
更多讨论:public vs. internal methods on an internal class, internal vs public in c#
旁注:ASP.Net MVC 网站是一个 class 库 - 因此所有关于与 class 库相关的访问修饰符的讨论都适用于 ASP.Net MVC/WebAPI 网站。
在 Web 应用程序的范围内,将方法的可访问性声明为 public
与 internal
的含义是什么?
Web 应用程序通常包含仅在应用程序本身内使用的方法。例如,电子商务网站可能包含检索用户订单历史记录的方法。沿着:
public List<Orders> RetrieveOrders() {
//code goes here
}
如果此方法包含在 class 库中,则 public
和 internal
访问修饰符的重要性相当简单; public 方法可以在库本身之外访问,内部方法则不能。
在 Web 应用程序方面有任何实际差异吗?
编辑: 有人建议我的问题与 What is the difference between Public, Private, Protected, and Nothing? 重复。我不是要解释访问修饰符。我想问的是,对于 网站 中的方法,访问修饰符是否有任何意义。
通常 public
应仅限于外部可见的方法 - 这包括 public API 和由于技术限制而必须公开的方法(即 classes ASP.Net 页)。
对于 Web 应用程序,通常没有 "public API",因为此类库通常不会被外部用户使用。
因此,对于 Web 应用程序开发,internal
和 public
之间在大多数情况下没有实际差异。仅使用 public
会带来一些小便利,因为您不再需要 InternalsVisibleTo
单元测试属性。
更多讨论:public vs. internal methods on an internal class, internal vs public in c#
旁注:ASP.Net MVC 网站是一个 class 库 - 因此所有关于与 class 库相关的访问修饰符的讨论都适用于 ASP.Net MVC/WebAPI 网站。