模块设计与组件设计有什么区别?
模块设计与组件设计有什么区别?
在《OSGi实战》一书中有一段引用,我认为解释了组件和模块之间的差异。
模块与组件
模块与组件听起来很像?它们都提供彼此所需的内容并从彼此消耗。它们也被封装为独立的部署单元。这两者难道不能被视为相同的东西或至少可以合并吗?是的, 可以, 但组件和模块服务于不同的目的,而且有些是正交的(它们不完全正交,因为组件由代码组成,最终可以打包成模块)。
模块处理代码的打包和代码之间的依赖关系。组件处理实现高级功能和组件之间的依赖关系。组件需要管理其代码依赖关系,但技术上不需要一个模块系统来实现这一点(通常是我们程序员通过类路径来实现)。
一个好的总结是您可以将模块视为处理静态代码和编译时依赖关系,而将组件视为处理实例和执行时依赖关系。
— 《OSGi实战》(第347页),11.1.1什么是组件?
为了数字化发展和UI设计(HTML/CSS/JS)的考虑,我采用这种方法来确保自己保持组织和先思考后行动。证明这种方法可以创造更清晰、更有组织的代码,并将其转化为更高效的工作。
在典型的样式表中,我目前设置如下:
/* Style Guide – Mobile First
1. =Setup
2. =Modules as independent units made up of components
3. =Components as group of reusable code containing more than one element
4. =Classes
5. =Responsive as enhancement
*/
我在这里写了更详细的解释,您可以阅读此处。
希望这能帮到您!
组件是运行时实体(可以由模块组成),独立的可运行单元。
模块是一个被分隔为实现单元的系统,它具有独立的任务分配。模块可能是也可能不是组件。
Module
和Component
都只是一些函数和资源。