当前位置:首页 > 文章列表 > 文章 > 前端 > 康威定律和 Web 开发中的关注点分离

康威定律和 Web 开发中的关注点分离

来源:dev.to 2024-11-08 17:09:58 0浏览 收藏
推广推荐
免费电影APP ➜
支持 PC / 移动端,安全直达

学习文章要努力,但是不要急!今天的这篇文章《康威定律和 Web 开发中的关注点分离》将会介绍到等等知识点,如果你想深入学习文章,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

康威定律和 Web 开发中的关注点分离

康威定律指出,软件系统往往会反映构建它们的组织的通信结构,它在现代 Web 开发的结构方式中发挥着至关重要的作用。从早期实践到当今更复杂的系统(例如微前端和基于组件的架构)的演变在很大程度上是由这一原则决定的。通过研究历史上 Web 开发中关注点是如何分离的,我们可以更好地理解当前实践是如何出现的以及为什么它们看起来像今天这样。

在 Web 开发的早期,不同的团队通常负责特定的技术。一个团队负责 HTML,另一个团队负责 CSS,还有另一个团队负责 JavaScript 和服务器端逻辑,例如 PHP。这种明确的职责分离或“关注点分离”是由每个团队拥有的独特技能驱动的。设计师将像素完美的 Photoshop 文件交给一个团队,然后该团队将这些文件转换为 HTML 和 CSS 模板。模板完成后,下一个团队会将它们集成到应用程序中,当事情不完美时经常会遇到摩擦。

设计师可能会提供一个 .psd 文件,其中表格的所有九个角都经过精心设计,HTML/CSS 团队会将其分割成工作布局。但它们在很大程度上与应用程序的实际逻辑或用户交互脱节。他们的工作只是确保视觉效果有效。然后,处理 PHP 和 JavaScript 的后端团队会将这些静态模板集成到正在运行的应用程序中,但通常会发现早期团队提出的解决方案并不适合应用程序的需求。这反映了组织的结构,每个团队负责流程的不同部分,没有太多的交叉沟通。

向基于组件的架构的转变

今天,我们分离关注点的方式发生了巨大的变化。现代团队更有可能负责应用程序特定部分的整个堆栈,而不是按技术划分职责(例如一个团队负责 HTML 和 CSS,另一个团队负责 JavaScript 和 PHP)。每个团队通常拥有应用程序的一个垂直部分,包括从前端组件到后端逻辑的所有内容。这种转变是由基于组件的架构的兴起推动的,其中可重用的、独立的组件是系统的构建块。

例如,不再是一个团队专注于整个网站的所有 HTML 和 CSS,另一个团队处理 JavaScript 和服务器端集成,而是现在拥有负责不同功能或组件的团队,例如

。每个团队从上到下管理其应用程序的组件或部分,包括前端和后端逻辑。这使得团队能够更加自主地工作,减少旧分离模型中经常出现的瓶颈和沟通不畅。

这种新的关注点分离(按功能或组件而不是按技术)允许团队更快地迭代。例如,负责聊天小部件的团队可以对 UI 和后端 API 进行更改,而无需等待另一团队处理系统的某一部分。现在的关键区别在于,您不再拥有只专注于 HTML 或 JavaScript 的专业团队,而是拥有拥有其组件或全部功能的跨职能团队。

微前端和独立团队所有权

这种转变最重要的结果之一是微前端的兴起,不同的团队拥有前端的不同部分,就像他们拥有后端的部分一样。这实现了早期不可能实现的独立程度。微前端架构反映了团队现在在管理其组件方面的独立性。

例如,负责 的团队可能拥有从 UI 结构到它如何与从 API 获取的数据交互的所有内容。负责

的另一个团队将完全控制文章的获取、呈现和交互方式,从前端逻辑到数据库查询。这种程度的自治意味着可以独立部署变更,而无需像过去那样与其他团队协调。

相比之下,在旧的 HTML+CSS 与 JS+PHP 分离模型中,系统任何部分的更改都需要多个团队之间的协调。如果前端需要新功能,HTML/CSS 团队必须与 JavaScript 团队合作,以确保新布局或功能按预期工作。如今,随着团队从上到下拥有特定的组件或功能,团队间协调的需求大大减少,从而实现更快速的开发和部署周期。

康威定律的应用

康威定律仍然一如既往地重要。我们今天构建软件的方式仍然反映了我们团队的组织方式,但不同之处在于现代团队结构更注重功能,更少技术孤岛。按技术划分职责的旧方法(HTML+CSS 与 JS+PHP)已经让位于每个团队负责完整功能或组件的模型。

这种现代的关注点分离可以实现团队内部更好的沟通和更集中的所有权。微前端、基于组件的架构和以功能为中心的团队都反映了康威的洞察力:你的软件将不可避免地反映你的团队的结构。随着我们团队结构的发展,我们构建的系统也在不断发展,变得更加灵活、模块化和独立。

结论

从基于技术的关注点分离到基于功能的分离的转变彻底改变了我们构建 Web 应用程序的方式。康威定律解释了为什么会发生这种演变:随着团队变得更加自主和以功能为中心,我们系统的架构也随之而来。微前端、内部组件库和基于组件的开发都反映了现代对独立、跨职能团队的需求,这些团队拥有其特定功能或组件的前端和后端。

虽然工具和框架不断发展,但基本原则保持不变:团队的构建方式直接影响他们构建的软件。通过了解康威定律和关注点分离的历史,我们可以更好地理解我们今天使用的系统并预测它们将如何继续发展。

终于介绍完啦!小伙伴们,这篇关于《康威定律和 Web 开发中的关注点分离》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
电脑故障诊断工具:帮你轻松解决电脑故障问题电脑故障诊断工具:帮你轻松解决电脑故障问题
上一篇
电脑故障诊断工具:帮你轻松解决电脑故障问题
掌握 Flexbox:我关于构建响应式布局的学习笔记
下一篇
掌握 Flexbox:我关于构建响应式布局的学习笔记
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • ChatExcel酷表:告别Excel难题,北大团队AI助手助您轻松处理数据
    ChatExcel酷表
    ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
    3204次使用
  • Any绘本:开源免费AI绘本创作工具深度解析
    Any绘本
    探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
    3417次使用
  • 可赞AI:AI驱动办公可视化智能工具,一键高效生成文档图表脑图
    可赞AI
    可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
    3446次使用
  • 星月写作:AI网文创作神器,助力爆款小说速成
    星月写作
    星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
    4555次使用
  • MagicLight.ai:叙事驱动AI动画视频创作平台 | 高效生成专业级故事动画
    MagicLight
    MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
    3824次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码