组件构建原则(一):组件

简介: 组件构建原则(一):组件

背景介绍


这是我的《架构整洁之道》系列的第十一篇,从这一篇开始,我们将一起学习组件构建原则~


大型软件系统的构建过程与建筑物修建很类似,都是由一个个小组件组成的。所以,如果说 SOLID 原则是用于指导我们如何将砖块砌成墙与房间的,那么组件构建原则就是用来指导我们如何将这些房间组合成房子的。


在组件构建原则这一章,我们会学习到软件组件是什么,它们由什么元素构成,以及如何利用组件来构建系统。

《架构整洁之道》系列:


组件


组件是软件的部署单元,是整个软件系统在部署过程中可以独立完成部署的最小实体。


例如,对于 Java 来说,它的组件是 jar 文件。而在 Ruby 中,它们是 gem 文件。在.Net 中,它们则是 DLL 文件。


在编译运行语言中

  • 组件是一组二进制文件的集合

而在解释运行语言中

  • 组件则是一组源代码文件的集合


无论采用哪种部署形式,设计良好的组件都应该永远保持可被独立部署的特性,这同时也意味着这些组件应该可以被单独开发


此处关于组件发展史我因为缺乏某些基础概念且内容比较晦涩,大家可以自行阅读,我就在此略过了


有两个概念分享给大家:


  • 程序规模上的墨菲定律:程序的规模会一直不断地增长下去,直到将有限的编译和链接时间填满为止。
  • 摩尔定律:计算机的处理速度、内存、存储密度每 18个月会增长 1 倍。 这条定律从 1950 年到 2000 年一直适用,之后在处理速度方面就停滞不前了。


结束语


网络异常,图片无法展示
|


✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

少年向来不识天高地厚
放眼处皆自负才高八斗
虽是自命风流
倒也坦诚无忧
我爱这样的少年
谦和而狂妄
骄傲又坦然☀️

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

相关文章
|
4月前
|
JSON 测试技术 数据格式
软件复用问题之如果待复用的组件是需要新建的,应该如何解决
软件复用问题之如果待复用的组件是需要新建的,应该如何解决
|
4月前
软件复用问题之在复用组件降低成本和复用组件引入依赖之间取得平衡,如何解决
软件复用问题之在复用组件降低成本和复用组件引入依赖之间取得平衡,如何解决
|
4月前
|
Java 测试技术 开发者
开发与运维组件问题之开发组件的时候,对于插槽中需要使用到组件上下文的情况如何解决
开发与运维组件问题之开发组件的时候,对于插槽中需要使用到组件上下文的情况如何解决
|
6月前
|
前端开发 开发工具
基础组件和业务组件解藕
基础组件和业务组件解藕
89 2
|
6月前
|
JavaScript 开发者
组件的设计原则
组件的设计原则
61 0
|
人工智能 JavaScript 前端开发
如何开发一个人人爱的组件?
本篇文章类似一个菜谱,比较零碎的记录一些组件设计的内容,作者分别按照 1~5 星 区分其重要性。
|
Java 关系型数据库 程序员
【组件设计开发】采用领域驱动设计设计和开发可组装的组件
采用领域驱动设计设计和开发可组装的组件
27940 7
【组件设计开发】采用领域驱动设计设计和开发可组装的组件
|
Android开发 Java
[架构设计] 组件和模块的区别
组件(Component)和模块(Module)又是一对容易混淆的名词,也常常被用来相互替换。两者是否有差异往往取决专业背景、所在领域、以及视角。个人总结,从设计上来看,组件强调复用,模块强调职责(内聚、分离),或者说组件是达到可复用要求的模块。
3039 0
|
架构师 Java Maven
组件构建原则(二):组件聚合
组件构建原则(二):组件聚合
356 0
组件构建原则(四):稳定依赖原则
组件构建原则(四):稳定依赖原则
473 0