前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《架构整洁之道》第 12 章 组件

《架构整洁之道》第 12 章 组件

原创
作者头像
巴啦啦的积累
发布2023-05-28 09:36:36
1880
发布2023-05-28 09:36:36
举报
文章被收录于专栏:巴啦啦的积累

组件是软件的部署单元,是整个软件系统在部署过程中可以独立完成部署的最小实体。在静态语言中,体现在编译过后的二进制文件。在动态语言中,体验现在一组源代码文件。

设计良好的组件都应该永远保持可被独立部署的特性。

组件发展史

在很久以前,存储设备十分缓慢,内存非常昂贵。所以编译会很慢,大型软件通常需要几个小时。为了缩短编译时间,程序员们将库函数的源代码单独编译。

重定位技术

相当于将源代码都单独编译后,程序要运行,多个组件需要联动,重定位技术将编译后的二进制文件链接到当前运行的程序内存中,实现组件的相互调用和联动。

链接器

链接器可以将程序切分多个可被分别编译,加载的程序段,在外部链接比较少,程序规模小的情况下,这个方案可用。随着规模增长,这种模式变得不可行了。这样还是太慢了。

最后程序员们将加载过程和链接过程进行分离。将耗时的链接部分,单独放到程序中运行,这个程序就是链接器。但随着规模变大,这个链接器也越来越慢。

如今我们直接使用共享库的方式,即已经编译好的二进制文件,加上硬件的飞速发展,我么已经可以很快的编译软件了。

本章小结

组件概念就是由此产生的,为了编译速度提升。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 组件发展史
  • 重定位技术
  • 链接器
  • 本章小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档