通用架构与专用架构-我惯用的设计方法
黄国强 2007-12-29
传统的软件开发方法是按照需求收集、整体设计、编写代码、进行测试这几个阶段进行的。每个过程只有评审通过后才能进入下个阶段。用这个方法也曾开发出很多出色的系统,当然更多的是失败的案例。相对于传统的开发方法,目前敏捷开发似乎已经成为主流。在实际软件设计中,我个人也总结了一套方法,和诸位博友分享。
-
第一步,根据需求确定软件的总体架构。这个总体架构我称为通用架构。相对于专用架构,这个通用架构是和具体领域的对象无关,而只和领域的复杂度相关。比如,如果我发现这个项目的复杂度不高,就采用黑板这个架构模式。如果复杂度很高,就采用分层架构模式等等。
-
第二步,从需求中找出最关键的一个主流程,并把用代码实现。这个阶段的重点是最快的实现,暂时不过多考虑设计。
-
第三步,也是最重要和最有价值的就是对第二步产生的代码中进行重构。这个阶段是设计模式大显身手的时候。最后将产生一个针对领域的专用架构。表现形式一般是一组接口类。看过我以前的文章人应该知道,我的观点是“架构即接口的集合”。