IT小小鸟 2020-05-02
记得刚毕业那几年面试的时候,经常会被问到,你的职业规划是什么?那时候经常会回答“未来想做一个架构师”。可转眼已工作十年了,工作中除了挖坑,填坑,早已忘记了梦想是什么。有时候想停下来,休息个一年半载。但无奈这上有老,下有小,为了生存便也身不由己继续苟且。
这个年纪如果还想继续做这一行,有两个选择一个是业务领域专家,另一个是走架构师这条路。互联网走业务领域专家选择更少一些,在业务领域更是没有多少的积累。思来想去,走架构师或许相对更合适一些,但也不排除以后遇到感兴趣的业务会改变这个想法。架构相关的知识还是从阅读经典开始。
五一假期计划阅读两本书《企业应用架构模式》(二刷),《架构整洁之道》通过主题(关于架构)阅读法。
虽然企业应用涉及的软件技术不断翻新,但是基本的架构及设计思想却没有太多变化。
按照Bob 大叔的说法,所谓架构就是“用最小的人力成本来满足构建和维护系统需求”的设计行为。
无论是以前的面向对象系统和如今流行的微服务。所谓模式“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。”
这本书前8章是关于企业应用的背景知识,如分层架构、Web表现、业务逻辑、数据库映射、并发、会话、分布策略,等等。在此基础上,随后的各章分别对与这些背景知识相关的设计模式进行了详细的介绍。与其他设计模式的书一样,本书从模式的使用场景、解决方案、UML表示等方面予以介绍,详略有致。
“模式的关键点是它们源于实践。必须观察人们的工作过程,发现其中好的设计,并找出‘这些解决方案的核心’。这不是一个简单的过程,但是一旦发现了某个模式,它将是非常有价值的。对于我来说,价值之一是能够撰写这样一本参考书。你不必通读本书的全部内容,也不必通读任何一本有关模式的书。只需要了解到这些模式都是干什么的、它们解决什么问题、它们是如何解决问题的,就足够了。这样,一旦你碰到类似问题,就可以从书中找出相应的模式。那时,你再深入了解相应的模式也为时不晚。
关注软件设计与架构的通用原理与最佳实践。全书分成三个部分.编程范式(结构化编程、面向对象编程和函数式编程)、设计原则(主要是SO凵D)及软件架构(其中讲了很多高屋建翎的内容)。总体来说,这本书中的内容可以让你从微观(代码层面)和宏观(架构层面)两个层面对整个软件设计有一个全面的了解。
了解软件架构师的能力指标,以及达成这些指标所需的核心准则、实践。
掌握用于函数处理、组件分离与数据管理的必要软件设计原则。
了解编程范式如何通过限制开发者行为的方式强施纪律。
领会“至关重要”与“细枝末节”的区别。
实现针对Web、数据库、胖客户端、控制台与嵌入式应用的优选高级架构。
如何合理定义范围与层级,并对组件与服务进行组织。
理解设计和架构失败的原因,以及如何预防或修复。
走快的唯一方法是先走好。
PS:学习架构demo代码继续维护在github上。点击原文连接关注github上的项目。https://github.com/tianyaxiang/ApplicationArchitecture/