写《一摞烙饼的排序》的代码关于架构有感

怎么说呢?先说下最近对Arch的理解。
Architecture在代码的世界里无时无刻不存在,看你怎么去看待这个问题了。
因为Architect包括的东西实在太多了,我一时能想起来的:

程序的需求分析,程序的静态图,动态图(包括模块运行间交互接口、交互限制,多进程之间交互,与用户的交互),Arch的文档化(包括给User的文档,给经理的文档,给developer的文档,给测试工程师的文档等等),程序对资源使用的限制

还有非常非常多,这都需要在进行开发前设计Arch的时候考虑到设计的Arch中去。

++++++++++++++++++++++++++++++++++++++++++++++++++

就像我今天写《一摞饼的排序》这个程序的一个类。
第一步,我不自觉的就像在设计一个Architecutre一样,开始画出程序流程图,模块图。并且对Architecture进行了细致的文档化。这样对我的下一步的开发有很好的指导作用,不然很有可能在开发的时候,很有可能因为思路不清晰,偏离Architecture在初始设计的初衷。(看Software Architecure in Practice的时候提到过真正开发流程中,细致的文档非常非常重要,清晰的沟通交流非常非常重要)

第二步,进行更加细致的Architecutre设计。即将各个模块在类中的接口设计好。可以根据第一步的结果,进行更加细致的分析,然后将public 和 private的接口在进行更加细致分析的过程中想好。

第三步,对模块进行实现,自底向上的进行代码开发实现

第四步,对代码对照着初始的Architecutre设计,进行自顶向下的code review,检测错误

posted @ 2012-07-22 22:32  Jack204  阅读(377)  评论(0编辑  收藏  举报