Web应用程序中的方法应该是公开的还是内部的?

时间:2017-01-04 02:59:15

标签: c# asp.net asp.net-mvc methods access-modifiers

在Web应用程序的范围内,将方法的可访问性声明为publicinternal的含义是什么?

Web应用程序通常包含仅在应用程序本身内使用的方法。例如,电子商务网站可以包含检索用户的订单历史的方法。沿着:

public List<Orders> RetrieveOrders() {
    //code goes here
}

如果此方法包含在类库中,publicinternal访问修饰符的重要性相当简单;公共方法可以在图书馆本身之外访问,内部方法也不会。

Web应用程序有什么实际区别吗?

编辑: 我的问题被认为是What is the difference between Public, Private, Protected, and Nothing?的副本。我不是要求解释访问修饰符。我问的是,网站中的方法访问修饰符是否有任何意义。

1 个答案:

答案 0 :(得分:3)

一般来说,public应限于外部可见的方法 - 这包括公共API和必须暴露的技术限制的方法(即ASP.Net页面的类)。

在Web应用程序的情况下,通常没有“公共API”,因为这些库通常不会被外部用户使用。

因此,对于Web应用程序开发,internalpublic之间几乎没有实际差异。由于您不再需要public个单元测试属性,因此仅使用InternalsVisibleTo会获得一些小的便利。

更多讨论:public vs. internal methods on an internal classinternal vs public in c#

附注:ASP.Net MVC网站是一个类库 - 所以关于类库的访问修饰符的所有讨论都适用于ASP.Net MVC / WebAPI站点。