[转]对组件、模块、子系统、系统、框架、架构 定义浅析

模块与组件
模块和组件的概念在实际工作中比较容易混淆,但是实际上只要认识到模块和组件都是系统的组成部分,只是从不同的角度拆分系统就容易理解了。
从逻辑的角度来拆分系统后,得到的单元就是"模块",从物理的角度来拆分得到的单元就是"组件"。划分模块的主要目的是职责分离;划分组件的主要目的是单元复用。

系统与子系统
系统是由一群有关联的个体组成的,没有关联的个体堆在一起不能称之为一个系统,一个系统的能力不是各个个体的能力之和,而是通过这些个体的相互协作产生了新的能力。比如汽车能够载重前进,而发动机、变速器等零件本身不具备这些能力。
子系统与系统的定义一样,只是观察的角度有差异,一个系统可能是另一个更大系统的子系统。比如微信本身是一个系统,包含聊天、朋友圈、支付等系统,而朋友圈系统又包含评论、动态等模块。

框架与架构
框架是一个组件规范,例如,MVC就是一种常见的开发规范;
框架是提供基础功能的产品,例如,Spring MVC 是 JavaWeb 常用的MVC开发框架;

框架是规范及基础,则架构是按照这个规范、基础对系统做规划设计;
规范也是约束,而架构是在约束之内设计,架构的目的是使系统更具拓展性。

总结
来自微信公众号:《代码荣耀》总结的一句话

架构是顶层设计;框架是面向编程或配置的半成品;组件是从技术维度上的复用;模块是从业务维度上职责的划分;系统是相互协同可运行的实体。

原文链接:https://blog.csdn.net/zhuoxiuwu/article/details/80285953

posted @ 2020-06-14 15:00  ec04  阅读(868)  评论(0编辑  收藏  举报