架构

作者: _Felix__ | 来源:发表于2019-05-14 16:44 被阅读0次

软件系统的价值

行为价值

行为价值是软件的核心价值,包括需求的实现,以及可用性保障(功能性bug、性能、稳定性)

架构价值

如果业务是明确的,稳定的,架构的价值就可以忽略不计。但是真实世界不是这样的。
《架构整洁之道》书中记录了一个真实案例,随着版本迭代,工程师的团队的规模持续增长,但总代码数却趋于稳定,相对应的,每行代码的变更成本升高、工程师的生产效率降低。
为什么架构经常会被忽略:

  • 依重要紧急矩阵看,架构通常是重要不紧急的事。
  • 架构不能带来明显可见效益。
  • 架构需要工程师需要拥有更高的水平。

编程范式

架构其实就是限制,限制源码放在哪里、限制依赖、限制通信的方式,但是这些限制比较上层。编程范式是最基础的限制,它限制了控制流和数据流

  • 结构化编程<核心价值是采用分解法将大型问题拆分>(1968):限制了控制权的直接转移
  • 面向对象编程(1966): 限制了控制权的间接转移(限制了函数指针的使用。控制权的间接转移——>调用了函数指针或接口,原来的代码不再继续执行,转而去执行别的代码,但具体执行了代码是被封装了的,你并不知道)<没有面向对象编程,跨越组件边界回事一件非常麻烦而危险的过程>
  • 函数式编程(1936) :限制了赋值(在架构领域中,所有的竞争问题,死锁问题,并发问题本质上都是可变变量导致的。如果有足够大的存储量和计算量,采用完全不可变的函数式编程,解决以上问题的源头。<但这其实时不现实的,在这只说明函数式编程能让组件更加高效和稳定>)

设计原则

相关文章

  • 系统架构基本概要

    架构原理图 应用架构 业务架构 系统架构 数据架构 技术架构

  • 数据库事务、Redis缓存

    项目的架构(业务架构、技术架构、物理架构) 单机架构 ---> 多机架构 ---> 读写分离 ---> 集群架构 ...

  • 大型网站系统架构图

    安全架构 核心架构要素 高性能架构 高可用架构 伸缩性架构 可拓展性架构 * 前言 前端架构 应用层架构 安全架构...

  • 大型网站架构笔记

    大型网站架构 网站架构包括:前端架构+应用层架构+服务层架构+存储层架构+后台架构+数据中心机房架构+安全架构+数...

  • 架构设计的5视图方法

    架构设计的5视图方法: 逻辑架构,开发架构、运行架构、物理架构、数据架构 1.逻辑架构 逻辑架构关注功能,不仅包括...

  • 架构的一些记录

    架构可细分为业务架构、应用架构、技术架构,业务架构是战略,应用架构是战术,技术架构是装备。其中应用架构承上启下,一...

  • 软件技术架构演变历史

    传统架构 传统架构– 软件架构– 图一 传统架构– 硬件架构– 图二(仅供参考) 传统架构– 企业组织架构– 图三...

  • 中小型创业公司,参考这篇文章去组建技术团队

    人员架构 工具架构 流程架构 代码层架构

  • 非常值得看的文章集合,会持续更新

    1.runloop 2.架构1、架构2、架构3、架构4、架构5

  • 架构设计的五视图理论

    五视图分别是: 逻辑架构、开发架构、运行架构、物理架构、数据架构。 逻辑架构 逻辑架构着重考虑功能需求,系统应当向...

网友评论

      本文标题:架构

      本文链接:https://www.haomeiwen.com/subject/rcxeaqtx.html