作为一个初级程序员,接到一个项目的时候,首先考虑的是这个功能该如何实现,能不能实现。如此一来,会对需求产生另外一种理解,偏向于用更加简单的方法来处理实际的问题,功能和质量都有点缩水。而作为一个架构师,就是为了控制这种风险,相当于我们做计划表,计划表就是为了束缚我们的惰性,按照预期的计划来实施,达到最初的功能需求。架构,就是一个大的决策问题,面对一个项目,如何将它组织起来,然后一步步实施,最后达到目的。
小问题容易困扰自己,但大的方向不能错,必须明确。
将架构设计一下子细致到类,有问题。一、难度太大,不现实;二、工作量太大没必要;三、并发部署、性能安全可伸缩性也没考虑。
所以,架构设计需要解决的问题有,1.将整个大的抽象框架画出来,整个系统的轮廓勾勒出来,这样整个架构在大的方向上没有太大问题。在《如何解题》这本书中,也谈到过,对于一个问题大的方向把握,有利于问题的解决,从整体思考问题,有时可以让模糊的问题变得清晰。
2.架构定义出来之后,整个模块、模块之间的交互都定义出来了,然后就可以进行并行开发了。