模块、类、命名空间、项目、文件夹、文件在c#应用程序的软件体系结构中是如何关联的。模块是一组类,类似于命名空间吗?或者模块本身就是项目?
例如,如果我们在谈论身份验证模块,我们实际上是在谈论命名空间,还是仅仅是一个文件夹或文件(因为一个文件可以包含登录所需的所有类)。
我发现很多人使用它的方式不同。什么是正确的方法,我相信肯定有一种明确的方法。
发布于 2014-04-10 17:05:13
正如你已经发现的,没有一个正确的答案。这取决于上下文。
通常,模块是特定关注点的组件。这就引出了什么是组件的问题。一种可能的定义是:
组件是包含内容、变化点和扩展点的容器,这些内容、变化点和扩展点在组合过程中进行了调整。
所以实际上,这可以是任何东西--一个类,一组类,整个软件系统(例如web服务)……这真的取决于上下文。
名称空间只是构造类的一种方式。您可以(但不一定)将模块的内容分组到名称空间中。
一个项目可以是一个模块,但它也可以包含多个模块。此外,一个模块可以分布在多个项目中。
文件夹只是组织源文件的组织方案。它与软件架构无关。同样的道理也适用于文件。
模块的基本点是关注点的分离。当开发一个模块时,你把你的整个想法都集中在一个(或几个)问题上,从其他关注点中抽象出来。但是,您应该始终将整个系统放在您的头脑中。
在VB.Net中,模块是一个静态类。
https://stackoverflow.com/questions/22982847
复制相似问题