zoukankan      html  css  js  c++  java
  • 软件架构自学笔记——什么样的架构才是好的架构

     AAA原则:

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

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

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

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

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

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

    Bounded Context

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

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

    协作单元

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

  • 相关阅读:
    有关tensorflow一些问题
    一个完整openlayer的例子,包括marker,popup等
    OpenLayers中的Layer概念和实践--Openlayers调用WMS服务
    MapInfo格式转arggis格式
    arcgis for server 登陆manager失败解决办法
    1752:鸡兔同笼(2.1)
    1749:数字方格(2.1)
    08:石头剪刀布(1.6)
    c++中的243、251、250错误原因
    05:年龄与疾病(1.6)
  • 原文地址:https://www.cnblogs.com/1605-3QYL/p/11040772.html
Copyright © 2011-2022 走看看