博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
架构设计三原则
阅读量:4134 次
发布时间:2019-05-25

本文共 670 字,大约阅读时间需要 2 分钟。

架构设计三原则

    合适原则
        合适原则宣言:合适优于业界领先
        失败原因
            没那么多积累,却想一步登天,是失败的第二个主要原因
            没那么卓越的业务场景,却幻想灵光一闪成为天才,是失败的第三个主要原因
            没那么多人,却想干那么多活,是失败的第一个原因
    简单原则
        简单原则宣言:简单优于复杂
        软件领域的复杂性
            结构的复杂性
                组成复杂系统的组件数量更多
                这些组件之间的关系也更加复杂
                组件越多,就越有可能其中某个组件出现故障
                某个组件改动,会影响关联的所有组件
                定位一个复杂系统中的问题更加困难
            逻辑复杂性
                单个组件承担了太多功能,逻辑复杂几乎会导致软件工程的每个环节都有问题
                问题:
                    代码很庞大,一次clone时间很长
                    几十上百人维护一套代码,不小心改了一行 代码,导致整站崩溃;需要不停讨论版本计划、协调资源、解决冲突
                    需求过多导致分支过多,各种分支合并和覆盖,每天上线几十个版本
                    线上出现故障,需要几十个人一起定位和处理
            功能复杂的组件的一个典型特征就是采用了复杂的算法。复杂的算法导致问题难以理解,进而导致难以实现和修改,并难以快速解决问题
    演化原则
        演化原则宣言:演化优于一步到位
        对于软件来说,变化才是主题;本质是:软件架构需要根据业务发展不断变化
        设计过程
            首先,设计出来的架构要满足当时的业务需要
            其次,架构要不断地在时间应用过程中迭代、保留优秀的设计、修复有缺陷的设计,改正错误的设计,去掉无用的设计,使得架构逐渐完善
            第三,当业务发生变化时,架构要扩展、重构、甚至重写;代码也会重写,但有价值的经验、教训、逻辑、设计等却可以在新架构中延续

转载地址:http://hmsvi.baihongyu.com/

你可能感兴趣的文章
Unix 命令,常用到的
查看>>
DLL中建立进程共享数据段需要注意的语法问题
查看>>
服务器端技术----Http请求的处理过程
查看>>
C语言-预处理指令2-条件编译
查看>>
C语言-预处理指令3-文件包含
查看>>
C语言-变量类型
查看>>
C语言-static和extern关键字1-对函数的作用
查看>>
C 语言-static和extern关键字2-对变量的作用
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
还不会正则表达式?看这篇!
查看>>
100道+ JavaScript 面试题,助你查漏补缺
查看>>
JavaScript深入理解之闭包
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
6种方式实现JavaScript数组扁平化(flat)方法的总结
查看>>
如何实现a===1 && a===2 && a===3返回true?
查看>>
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>