2022P8百万业务架构师3期NX

278 阅读3分钟

Download:百度网盘

提取码:600x

第三章 设计合理的架构 1.架构师是技术和业务的桥梁,核心能力是判断、拆分、取舍。,架构设计分别前期、中期、后期面对的任务、方式、和输出的结果是不一样的。

2.架构设计前期,和不同的利益干系人,进行沟通。诉求排序,按照时间、成本、质量三原则进行沟通。重点是开会

3.架构设计中期,按照前期收集的各种需求,进行头脑风暴,设计并且评估出3个左右的架构设计方案出来。重点是覆盖核心场景,设计多个备选架构方案

4.架构设计后期,按照前期、中期备选方案的沟通,决策,选出一个合适的方案,进行总体架构的设计,但是针对不同的利益干系人设计文档是不同的。重点是架构设计文档,不同利益人不同文档 但是对于第二位架构师来说,这一切都是不需要的。他只需要对产生影响的一些组件进行改造,制作新的组件,当一切准备就绪再添加到原来的飞船即可。

再后来,第二位架构师希望能更进一步的优化他们的制作过程,因为他们现在投入了很多的时间在上面。在经过一段时间的研究之后,他们决定尝试用一种新的材料和方法来制作这艘飞船。也就是3D打印,他们申请了一台3D打印机,制作了所有的模型,这样他们就可将一些常规的任何通过3D打印机自动完成了。

当然,这只是一个很简单的例子。但是我们能从中学到什么呢?虽然两位架构师在最开始的时候都能成功的完成最初始的功能,但是他们都面临着变化所带来的系统的调整。在集成阶段,复杂性开始显现出来,和最开始的目标无关,最终整个设计是否足够灵活、可调整、以及模块化起着至关重要的作用。

v2-f0a655c9b7fc880058fa2daeeb6a445e_1440w.jpg

软件的架构至关重要,仅仅有较好的代码来完成功能不足以成为一个优秀的解决方案。因为它不仅仅涉及到代码,还有我们所写的各个模块之间如果交互和集成、数据如何存储、我们怎么样来进行开发和测试、以及在引进变动的时候的难易程度等等。 所以我们在写代码的时候,你一定要去注意整个代码的逻辑是不是清楚,它的可读性究竟怎么样。 这个代码转给别人去做维护的时候,别人是不是很通俗易懂,你对于大的方法函数,你是不是进行了相应的一些拆分,你涉及到的一些共性的方法,你是不是提取为公用的方法或者是函数,你该抽象的一些关键接口。 你是不是做了抽象整个代码你是简单的实现了基础的功能,还是你足够的考虑了这个代码它本身应该有的健壮性和可靠性。 该做的异常捕捉,你都做了该记录的日志,你都记录了。 在你写这个代码的时候,你是不是考虑了这个代码,后续它应该具备的一些可扩展能力。 这些东西不是说你到了设计阶段才做,实际在你编码阶段,你编码多了以后,你自然而然就应该去考虑这些问题。 因为编程思维的本质它就是一种抽象复用的思维,这些能力完完全全可以在你编码阶段去做积累。