技术架构设计12原则(上篇)
在「架构能力的四个阶段」一文中,我提到我把架构的能力分为四个阶段,分别是架构原则(principles)、架构模式(patterns)、架构建模(modeling)、架构框架(frameworks)。其中第一个阶段是「架构原则」。架构原则是在架构设计领域中基本要遵守的原则,通常不会有太多条,且每一条都很简单、用处很广泛、彼此独立。我自己目前就建立了12条技术架构设计指导原则,这篇文章的目的就是为了跟iThome的读者分享这些原则。
架构原则1:不要使用Stored Procedure,因为这会让业务逻辑难以维护。资料库管理系统(DBMS)里面可以直接执行PL/SQL等程式,这种程式叫做Stored Procedure。这些年我在许多金融公司的工作经验让我发现Stored Procedure的问题重重,导致业务逻辑难以维护,应该尽量避免使用Stored Procedure。当然,不排除有人能把Stored Procedure的程式码写得非常好,有很好的抽象隔离和模组化,使得系统容易维护,但我看到的实际状况都不是如此,且Stored Procedure让业务逻辑和资料的储存结构结合得太紧密,这在未来系统调整时也会一个巨大的风险。
有人认为Stored Procedure直接在资料库内处理资料,执行效率比较好。但任何选择都有机会成本和风险,Stored Procedure非常可能会带来业务逻辑难以维护的危害,比起它带来执行效率提升的利益,大多数的情况下我们会选择「让业务逻辑好维护」。效率当然重要,但在这个时代,执行效率的提升通常会透过弹性灵活的分散式系统来达成,而不是透过单一个庞大系统效率的垂直提升。
架构原则2:一个系统内部可以包含储存和程式码,但系统间不能共用资料库。一个系统应该完整地控制自己的资料库,所有对资料库的存取都必须透过系统本身,不能直接去读写资料库,不光是不允许其他系统「写入」此资料库,就连「读出」资料也不行。如此以来,系统之间的依赖只透过API,当系统根据需要调整自己的资料格式和资料解读方式时,其他系统并不会受到影响。
架构原则3:逻辑容易变动的程式码必须剥离成另一个系统,容易变动者(例如应用系统)可以依赖较不容易变动者(例如平台系统)。提前做好这个剥离的动作,后续在业务功能变化时,好处就很明显了:需要要修改和测试的部分就会最小化,範围可控。
架构原则4:任何系统都不能依赖容易变动的系统。这一条原则和上一条原则是有关联的。容易变动的系统可能API的规格不稳定,且内部功能的稳定性也比较低,依赖这样的系统就会导致你的系统也很容易受到影响。
架构原则5:被调用方必须提供清晰、文件化的API。当我做系统设计评审时,我非常关心API设计的良窳。好的API可以让使用者一目了然,且有说明清楚的文件。关于API的设计,我的经验是「核心系统」的API要做到弹性至上,API的数量少,但每个API的参数个数比较多,这么设计的好处是可以避免核心系统经常需要修改。比较靠近应用的系统要做到使用的方便性至上,API的数量多,但每个API的参数个数比较少(且尽量让参数有预设值,可以空缺不设定)。
架构原则6:使用者界面要被剥离出来,且使用者界面内尽量不要有逻辑。使用者界面内可以有布局(layout)和操作等和业务无关的程式逻辑,但只要和业务有关的逻辑,一定要剥离出来。这么做的好处是,可以在不同的终端设备之间共用业务逻辑。
这篇文章先介绍六条架构原则,下一篇再介绍剩下的六条架构原则。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
截至2023年,大众高尔夫GTI的最新款车型为2024款。关于2025款高尔夫GTI的价格和配置信息,目前尚未有官方发布...浏览全文>>
-
在当今社会,汽车已经成为人们日常生活中不可或缺的一部分。对于许多家庭来说,选择一辆适合自己的车不仅关乎...浏览全文>>
-
随着汽车市场的不断变化与发展,2025款大众CC以其优雅的设计和卓越的性能吸引了众多消费者的关注。作为一款备...浏览全文>>
-
安徽阜阳探影新车报价2023款大公开:买车不花冤枉钱随着汽车市场的不断发展,消费者对于购车的性价比和实用性...浏览全文>>
-
在安徽滁州地区,上汽大众途观L是一款备受关注的中型SUV。途观L凭借其宽敞的空间、强劲的动力以及丰富的配置,...浏览全文>>
-
关于2025款大众ID 系列车型在安徽淮南的售价及落地价问题,我们可以从以下几个方面进行详细分析。大众ID 系...浏览全文>>
-
安徽阜阳帕萨特多少钱?选车秘籍与落地价全攻略在安徽阜阳,选择一款适合自己的帕萨特车型需要综合考虑预算、...浏览全文>>
-
在当今的汽车市场中,新能源汽车因其环保性和经济性逐渐成为消费者关注的焦点。对于生活在安徽阜阳地区的朋友...浏览全文>>
-
随着新能源汽车市场的快速发展,消费者对于新能源车型的关注度持续攀升。作为一款备受瞩目的高端新能源车型,...浏览全文>>
-
在2024款的汽车市场中,一汽-大众ID 6 CROZZ以其豪华配置和出色的性能吸引了众多消费者的关注。作为一款纯电...浏览全文>>
- 安徽阜阳探影新车报价2023款大公开,买车不花冤枉钱
- 安徽阜阳帕萨特多少钱?选车秘籍与落地价全攻略
- 安徽阜阳途锐新能源多少钱?选车秘籍与性价比大公开
- 奇骏试驾需要注意什么
- 长安欧尚520试驾操作指南
- 试驾哈弗H6操作指南
- 安徽阜阳探影落地价实惠,配置丰富,不容错过
- 丰田雷凌预约试驾操作指南
- 滁州ID.4 X多少钱 2025款落地价,换代前的购车良机,不容错过
- QQ多米最新价格2025款,各配置车型售价全揭晓,性价比之王
- 阜阳ID.4 CROZZ新款价格2025款多少钱?选车指南与落地价全解析
- 阜阳ID.7 VIZZION多少钱?选车秘籍全攻略
- 滁州大众Polo最新价格2024款,各配置车型售价一目了然
- 天津滨海大众Polo落地价,各配置车型售价一目了然
- 亳州途观X多少钱?选车秘籍全攻略
- 奥迪e-tron GT试驾,如何享受4S店的专业服务?
- 安庆探影落地价全解,买车必看的省钱秘籍
- 岚图梦想家 2025新款价格大揭秘,各配置车型售价一览表
- 山东济南长安启源E07多少钱 2024款落地价,最低售价19.99万起,入手正当时
- 天津滨海T-ROC探歌新车报价2025款,购车前必看的费用明细