• 软件架构自学笔记——什么样的架构才是好的架构


     AAA原则:

    可考核(Accountable):好的软件架构让每个团队都有自己负责的业务目标

    可自主(Autonomous):好的软件架构让每个团队都一定的自主性可以独立往前跑,而不总是被其他团队阻塞

    可复用(Amortized):好的软件架构鼓励对未来投资,使得基础设施的成本可以被摊销

    可考核>>可自主>可复用

     “可考核性”是一切的关键,是实时软件管理的前提。

    技术团队必须名确业务目标,并对业务目标负责,这样软件工程的可考核性才得以体现。。

    Bounded Context

    在大的尺度上,架构就是分解Bounded Contexts(参见领域驱动开发,DDD)。这就是把业务的组织架构图体现到软件的世界里:

    以电商领域为例,业务被分解为上面这些Bounded Contexts。没有一个技术团队可以覆盖横跨这些Bounded Contexts的业务流程的。这并不是啥坏事情,大的问题被分解为了小问题,业务和技术在一个Bounded Context的范围内,携手朝着共同的目标去努力。

    协作单元

    解决方案应该是把软件作为一个整体来思考,而不是被狭隘的“操作系统进程”的视角给限制了。构建新的微服务的成本,应该和后台用function启动一个线程没有多大区别。理想的编程语言里,我们有各种各样的function,但是执行机制不同。

  • 相关阅读:
    CF459E Pashmak and Graph
    cf478D Red-Green Towers
    cf255C Almost Arithmetical Progression
    准备做,但是还没做的
    CF219C hoosing Capital for Treeland
    最小中间和
    【NO.9】jmeter
    【设计用例】站内信
    【有意思的BUG】客户端无厘头 已连网的场景初始化太慢 未连网的场景异常崩溃
    禅道BUG系统
  • 原文地址:https://www.cnblogs.com/1605-3QYL/p/11040772.html
Copyright © 2020-2023  润新知