模块,类,命名空间,项目,文件夹,文件如何在c#应用程序的软件架构中相关。 模块是一组类,与命名空间类似。 或者是项目本身的模块吗?
例如,如果我们谈论身份验证模块,我们实际上是在谈论命名空间还是仅仅是文件夹或文件(因为文件可以包含登录所需的所有类)。
我发现许多人使用它的方式不同。 什么是正确的方法,我相信必须有一个明确的方法。
答案 0 :(得分:1)
正如您已经发现的那样,没有一个正确的答案。这取决于具体情况。
通常,模块是特定问题的组件。这让我们想到了一个组件是什么。一个可能的定义是:
组件是一个容器,其内容,变体点和扩展点在组合过程中进行了调整。
实际上,这可能是任何东西 - 一个类,一组类,一个完整的软件系统(例如一个Web服务)......它实际上取决于上下文。
命名空间只是构建类的一种方法。您可以(但不一定)将名称空间内的模块内容分组。
项目可以是模块,但也可以包含多个模块。此外,模块可以分布在多个项目中。
文件夹只是构建源文件的组织方案。它与软件架构无关。这同样适用于文件。
模块的基本要点是关注点的分离。在开发模块时,您将整个思维专注于单个(或几个)问题,从其他问题中抽象出来。但是,您应始终牢记整个系统。
在VB.Net中,模块是一个静态类。