美文网首页
程序员必读之软件架构

程序员必读之软件架构

作者: 啥也不说了 | 来源:发表于2017-08-13 19:52 被阅读191次

推荐序1

1、架构角色则是要求你在具体事务中行使某些行为,而架构师则是用来标识这些能力与行为的一个职务。

软件架构五件事

1、软件架构不是大型预先设计

软件架构历来被认为是大型预先设计和瀑布式项目有关。软件架构就是关于软件系统的高层次结构,以及你如何理解它。他是影响软件系统形态的重要决策,而非理解数据库每个字段应该有多长。是一个更宏观的理解。

2、每个软件团队都需要考虑软件架构

3、软件架构的角色关乎编码、指导和合作

现在软件架构更倾向于成为一种有利于编码、指导和协同设计的方法。

4、无需使用uml

5、好的软件架构师支持敏捷开发的

第一章 什么是架构

作为名词

架构就是将产品分解为一系列组件、模块和交互。

作为动词

理解你需要构建什么、设定愿景以便进行构建和做出恰当的设计决策。

第二章 架构的种类

共同点

所有架构类型都具有结构和愿景。任何成功的方案都需要你理解问题,并设定一个愿景可以和每个参与构建的最终产品的人沟通。不论何种领域的架构,其实主要是结构和愿景。

第三章 软件架构是什么

应用程序架构

应用程序架构的关注点是应用程序,通常包括将应用程序解构为类和组件,确保设计模式的正确应用,构建和使用框架。

系统架构

系统架构师一个更大规模的应用程序架构,所以软件系统架构就是考虑如何组合这些单独的应用程序。

软件架构

软件架构就是应用程序和系统架构的结合。从代码结构和基础到将代码成功部署到生存环境,与一个软件系统重要元素相关的所有东西都是软件架构。所以不仅要考虑代码层面,还要考虑其他事情。

  • 横切关注点,比如登陆和异常处理;
  • 安全性,包括认知、可用性和其他质量属性;
  • 性能、可升缩性、可用性和其他质量属性;
  • 审计和其他监管需求;
  • 客观环境约束;
  • 互操作性
    这就需要要求有时候退一步,远离代码和开发工具,站在更高的地方看。

企业架构:战略而非代码

企业架构一般是指整个组织的中心工作,着眼于如何组织与利用人员、流程和技术来使企业有效和高效的工作。

第四章 敏捷架构是什么

软件架构的敏捷标签意味着它能够应对所处环境的变化,适应人们提出的不断变化的需求。但是敏捷开发往往不会得到敏捷架构。

你需要多敏捷

理解组织或业务的变化速度很重要。

第五章架构对上设计

架构就是结构和愿景

设计和架构有什么区别

设计是一个系统内命名的结构或行为,解决或有助于解决该系统的一个或多个问题。所以设计代表了潜在的决策空间中的一个点。
所有架构都是设计,但是不是所有设计都是架构。
架构反映了使一个系统成型的重要设计决策,而重要性则通过改变的成本来衡量。重要的决策就是架构

理解意义

想哪些东西对你的系统很重要,这个非常重要。例如引入Hibernate等orm层。改变成本低,所以在架构层面就属于不重要的。

第六章 软件架构重要吗

缺乏软件架构讲引发问题

没有软件架构,会导致一些问题。

  • 你的软件系统有良好的结构吗?
  • 团队里每个人都以一致的方式实现特性吗?
  • 代码库的质量水平一致吗?
    -##软件架构的好处
  • 让团队跟随一个清晰的愿景和路线图,无论这个愿景是一个人所有还是整个团队所有;
  • 技术领导力和更好的协调;
  • 与人交流的刺激因素,以便回答与重要决策、肺功能需求、限制和其他横切关注点相关的问题;
  • 识别和减轻风险的框架;
  • 方法啊和标准的一致性,随之而来的结构良好的代码库;
  • 正在构建的产品的坚实基础;
  • 对不同的听众,以不同层次的抽象来交流解决方案的结构

所有项目都需要软件架构吗

肯定。

相关文章

网友评论

      本文标题:程序员必读之软件架构

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