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

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

背景介绍


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


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


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

《架构整洁之道》系列:


组件


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


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


在编译运行语言中:

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

而在解释运行语言中:

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


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


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


有两个概念分享给大家:


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


结束语


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


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

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

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

相关文章
|
应用服务中间件 测试技术 nginx
Nginx-性能优化-ab压力测试工具
章节目录 nginx 性能优化的点 当前系统性能的评估 ab 压力测试工具使用 1.nginx 性能优化的点 当前系统结构瓶颈 可用方案:观察指标-top、压力测试-substatus、线上系统可以支撑的并发。
2833 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
轻量化小模型MiniMind从训练到落地指南
本文基于Ubuntu 22.04与RTX显卡,手把手教你用原生PyTorch从零训练MiniMind(26M–200M)轻量大模型:涵盖环境配置、预训练、SFT微调、LoRA垂域适配、DPO对齐、Web服务搭建及GGUF量化全流程。3小时可跑通基础对话,低成本、可复现、适合新手入门与私有化部署。(239字)
290 2
|
2月前
|
数据采集 人工智能 安全
国内大模型GEO优化实战FAQ
国内GEO(生成式引擎优化)正成为内容可见性新战场:当2.49亿用户习惯“问AI”,内容能否被文心、豆包、Kimi等主流大模型引用,决定品牌在AI答案中的存在感。本文由Geo专家于磊一线实践提炼,聚焦国内大模型特有的检索逻辑、权威信号与生态规则,以25个高频问题为纲,每问均含机制解析、可验证数据及即用模板/清单/代码,直击“怎么写才被引”这一核心痛点。
193 1
|
4月前
|
存储 人工智能 JSON
GEO线索评分:从AI访问到有效询盘
本文详解外贸B2B企业如何构建GEO线索评分系统:从页面意图标签、用户行为追踪、询盘结构化,到多维评分规则与CRM集成,实现AI搜索流量→高质量线索→高效销售跟进的完整闭环,让GEO真正驱动可衡量的增长。
621 0
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
无需人工奖励!Meta FAIR华人团队提出「早期经验学习范式」,AI智能体像人类一样“从错误中成长”
Lab4AI.cn提供免费的AI翻译和AI导读工具辅助论文阅读;支持投稿复现,动手复现感兴趣的论文;论文复现完成后,您可基于您的思路和想法,开启论文创新。
382 4
无需人工奖励!Meta FAIR华人团队提出「早期经验学习范式」,AI智能体像人类一样“从错误中成长”
|
4月前
|
数据可视化 BI 文件存储
2026 实测分享:好用的个人 Todo 管理工具有这些
2026年,轻量化Todo工具成主流:聚焦待办本质,界面清爽、操作极简、视图直观。支持卡片拖拽、状态分区、多端同步,兼顾个人规划与小团队协作,真正实现“零学习成本、高执行效率”。
569 0
|
7月前
|
安全 关系型数据库 MySQL
为什么mysql不推荐用docker部署?
本文以幽默故事切入,详解 Docker 部署 MySQL 的五大高危坑(数据丢失、资源失控、安全裸奔、网络不通、无备份)及对应五大实战锦囊:Volume 持久化、资源限制、自定义配置、安全加固、自动化备份,并附排查技巧与口诀,助你稳用不翻车!
386 2
|
10月前
|
人工智能 安全 数据挖掘
2026年企业级BI系统建设方案:构建智能数据驱动决策新体系
企业数字化转型深化,数据成核心生产要素。Gartner报告显示,AI赋能、全场景协同的BI工具占主流。瓴羊Quick BI凭借“智能小Q”与阿里生态协同,连续六年入选Gartner魔力象限,助力企业实现数据驱动决策。本文剖析10大BI工具竞争力,提供选型指南。
|
SQL JSON 安全
如何开发工程项目部管理系统中的安全管理板块(附架构图+流程图+代码参考)
本文详解工程项目部安全管理系统的构建,涵盖重大危险源管理、安全检查、隐患整改闭环流程及管理层看板。内容包括功能模块、业务流程、技术架构、开发技巧与实用代码,助你快速落地可追踪、能量化的安全管理体系。
银行转账p图软件,对公转账截图生成器,java版开发银行模拟器【仅供学习参考】
这是一套简单的银行账户管理系统代码,包含`BankAccount`和`BankSystem`两个核心类。`BankAccount`负责单个账户的管理

热门文章

最新文章