我了解如何对类进行物理分组,即继承、组合等。但是,我从未真正理解命名空间的好处(类的逻辑分组)。我通常有一个表示层的名称空间,一个业务逻辑层的名称空间和一个数据访问层的名称空间,即:
com.Application.BusinessLogicLayer
com.Application.PresentationLayer
com.Application.DataAccessLayer
有时表示层会有多个应用程序,例如 VB.NET 应用程序和 ASP.NET 应用程序。有时业务逻辑层会被拆分为多个 DLL。
我可以回答关于什么是命名空间的考试问题,但我很难将知识应用到问题领域。例如,看看下面的代码:
Namespace com.application.businesslogiclayer
Public Class ClassA
Private CB As ClassB
End Class
End Namespace
Namespace com.application.businesslogiclayer
Public Class ClassB
Private CC As ClassC
End Class
End Namespace
Namespace com.application.businesslogiclayer
Public Class ClassC
End Class
End Namespace
由于 ClassA 与 ClassB 有组合关系,而 ClassB 与 ClassC 有组合关系,所以我相信它们都应该属于同一个命名空间,例如
com.application.businesslogiclayer.classABC
. 但是,您可以使用“导入”语句引入其他类,所以这可能是不正确的。
开发人员在设计命名空间时使用什么标准?