[碎碎念] 程序开发领域由菜鸟到老鸟的成长历程 (27) - 老鸟阶段-架构思维。
都当上老鸟了,总不可能只做写程序的工作吧,上面交代的也许会是规划新系统的任务,这时老鸟在经验上的优势就很容易表现出来了,尤其是思考系统架构的深度。 在规划系统时,除了使用者的需求以外,适当的设计软件的架构 (architecture) 会让底下的程序员日后在撰写或维护程序时比较轻松,而软件架构就像是把系统当做房子一样,每个系统都有适合自己的架构,而架构又会成为日后指导与规范开发方向与方法的蓝图一样,它和 Framework 意义有点像,但本质上却是不同的。 所谓的 软件架构(Software Architecture)是一种软件的蓝图,它告诉你这个软件的结构,功能,界面,用法,与其他系统的构连以及数据交换等等规范 ,但它并没有叫你要用什么方式实践,因此软件架构通常会产生文档,图样,原型以及规格等,就是没有可用的程序,因为那不是软件架构应该有的东西,就像盖房子时是给你蓝图,而不是一幢盖好的房子。相对的, 软件框架(Framework) 的英文名称原意是骨架,拆开来看是 "Frame"-"work",表示是在一个既定的框架下可以做的工作 ,也就是说,这是一个已经成形的方法,而且有程序实例(例如钢构工法也是要有钢材才能做),并且会告诉你要如何使用它(即 Framework Documentation,MSDN Library 即为一最佳例子),但怎么使用它是程序员(也就是监工)的工作,与