内容总结自 极客专栏

模块与组件

模块组件两个概念在实际工作中很容易混淆,我们经常能够听到类似这样的说法:

  • MySQL 模块主要负责存储数据,而 Elasticsearch 模块主要负责数据搜索。
  • 我们有安全加密组件、有审核组件。
  • App 的下载模块使用了第三方的组件。

但是实际上只要认识到模块和组件都是系统的组成部分,只是从不同的角度拆分系统就容易理解了。
从逻辑功能的角度来拆分系统后,得到的单元就是“模块”,从物理的角度来拆分得到的单元就是“组件”。划分模块的主要目的是职责分离;划分组件的主要目的是单元复用,不要太纠结名词。

系统与子系统

系统是由一群有关联的个体组成的,没有关联的个体推在一起不能称之为一个系统,一个系统的能力不是各个个体的能力之和,而是通过这些个体的相互协作产生了新的能力。比如汽车能够载重前进,而发动机、变速器、等临件本身不具备这些能力。
子系统与系统的定义一样,只是观察的角度有差异,一个系统可能是另一个更大系统的子系统。

以微信为例:
1.微信本身是一个系统,包含聊天、朋友圈、支付等系统
2.朋友圈这个系统 又包含了 动态、评论、点赞等子系统
3.评论这个子系统 可能又包含了 发布审核、发布、存储、防刷、屏蔽等子系统
4. 评论审核子系统不再包含业务意义上的子系统,而是包括各个模块或者组件,这些模块或者组件本身也是另外一个维度上的子系统。例如Mysql、Redis是存储子系统,但不是业务子系统。

框架与架构

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

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

总结

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

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

对组件、模块、子系统、系统、框架、架构 定义浅析相关推荐

  1. 【SSH框架/国际物流商综平台】-01-分三期(仓储管理,货运全流程管理,决策分析)- 项目背景 界面原型 用例图 企业组织结构 功能模块图 系统框架 项目表单收集

    项目背景 商务综合管理平台是国际物流行业一家专门从事进出口玻璃器皿贸易的公司.业务遍及欧美.随着公司不断发展壮大,旧的信息系统已无法满足公司的快速发展需求,妨碍公司成长,在此背景下,公司领导决定研发& ...

  2. JVAV组件--系统框架--JIDE Action Framework

    产品介绍 [ ] 几乎所有的应用都需要工具条和菜单栏.JIDE Action Framework和这些组件都是有关的.它提供了一个更加完善的组件,即CommandBar,它可以代替JToolBar和J ...

  3. 直播系统开发,完整的系统框架架构,打造完美的直播系统

    直播系统开发.直播平台开发中怎样做才能快速积攒人气流量.得到用户的青睐呢? 要做到明确自己的是行业市场定位,要明白自己直播平台的行业市场方向和针对的人群,才能够对直播系统开发进行系统化的梳理和一个大构 ...

  4. 32 --> 详解 OpenWRT系统框架基础软件模块之netifd

    一.简介 OpenWrt路由操作系统的框架基础软件有很多,大部分是通用的软件模块,如 dhcp .dnsmasq.iproute.cmwp.vpn.ipsec等等:OpenWrt还集成部分具有专属特征 ...

  5. Android Framework 窗口子系统 (08)窗口动画之动画系统框架

    该系列文章总纲链接:专题分纲目录 Android Framework 窗口子系统 本章关键点总结 & 说明: 导图是不断迭代的,这里主要关注➕ 左上角 Android 窗口动画系统部分(因为导 ...

  6. 37 --> 详解 OpenWRT系统框架基础软件模块之 procd

    一.简介 OpenWrt路由操作系统的框架基础软件有很多,大部分是通用的软件模块,如 dhcp .dnsmasq.iproute.cmwp.vpn.ipsec等等:OpenWrt还集成部分具有专属特征 ...

  7. 【Linux 内核】CFS 调度器 ④ ( 调度子系统组件模块 | 主调度器、周期性调度器 | 调度器类 )

    文章目录 一.调度子系统组件模块 二.主调度器.周期性调度器 三.调度器类 一.调度子系统组件模块 调度器 需要对 被调度的进程 进行 排序 和 调度管理 , 进程管理过程需要 调度器 的 组件模块 ...

  8. 云计算的定义、云计算系统的架构组成、云计算的应用和云计算的问题

    1 云计算的定义 云计算是在通信和互联网的发展比计算机的发展速度更快的大背景下的必然产物[1].假如你是一家大公司的经理,你的职责是为你所有的员工提供工作中必需的计算机硬件和软件,光提供计算机硬件是不 ...

  9. 通用 漂亮 功能强大的BS架构系统框架

    不需要写任何代码就可以创建一个漂亮,功能强大的应用系统框架,包含通用的系统权限管控和个性化界面设置两大通用模块. 此项目模板在.net4.0环境下开发,可以部署到VS2010及以上版本的开发工具里. ...

  10. [转载]虚拟主机上安装Mambo核心系统/组件/模块技巧

    [转载]虚拟主机上安装Mambo核心系统/组件/模块技巧 虚拟主机上安装Mambo核心系统/组件/模块技巧 作者: lang3     (http://htmambo.com/) 虚拟主机大都限制了很 ...

最新文章

  1. ggplot2笔记3:工具箱——误差线、加权数、展示数据分布
  2. 物化视图VS普通视图
  3. 编程算法 - 赛马问题
  4. 深度学习(Deep Learning)综述及其延伸,入门必看!
  5. doolittle分解matlab,Doolittle分解法(LU分解)详细分析以及matlab的实现
  6. 计算机系大二学年鉴定表,计算机大二学生自我鉴定
  7. MongoDB系列四:解决secondary的读操作
  8. LeetCode,无它,唯手熟尔(五)
  9. 兔子繁殖问题----Python
  10. 潮汐监测站点 api数据接口
  11. 计算机怎样保存文件格式,word文档怎样保存为pdf格式
  12. linux查看image类型,ImageMagick 的一些高级图片查看技巧
  13. Aspect获取目标方法中带特定注解的参数值
  14. 程序逸的Java项目之旅-图书管理系统之环境的搭建
  15. UR机器人(二):Path and Time Scaling
  16. win10Oracle繁体乱码,win10系统切换繁简字体出现乱码的解决方法
  17. 电磁阀安装和使用事项
  18. 为什么选用one-hot?
  19. msn注册结尾为msn的邮箱
  20. 如何清空微信小程序input值

热门文章

  1. 代码审计——你是如何发现那些有缺陷的代码的
  2. arduino uno + 舵机 + dht11 + 杜邦线 + usb + 面包板 测温度 控制舵机运动
  3. DevIL的学习笔记
  4. 软件学报zotero文献格式
  5. 网络统考计算机操作题分数占比,计算机一级office考试 word占多少分值?
  6. Android 蓝牙 inquiry、inquiry scan、page、page scan等概念解析
  7. 初探BP神经网络工具箱
  8. 固体核磁共振技术简介
  9. Servlet学习笔记
  10. 腾讯笔试经验-不是大牛-勿看