每个专业都有行话,同行之间进行话很方便交流。律师经常使用人身保护权(habeas corpus)、预先审查(voir dire)之类的术语;木匠口头离不开平接接头(butt joint)、乳胶(flux);软件架构师则经常提到ROA、两步视图、层超类型(layer supertype)。但你清楚这些行话的意义吗span>
为了提高效率,软件行业有一套可行的办法,供不同平台的架构师相互交流,其中包括使用架构模式和设计模式。架构师想要提高工作水平,必须掌握基本的架构模式和设计模式,学会识别不同的模式,并借助它们和同行及开发人员进行交流。
架构模式和设计模式可以分成四大类:企业架构模式、应用架构模式、集成模式、设计模式。每类模式对应着整体架构的不同层次和范围,例如企业架构模式解决高层的架构问题,而设计模式则研究架构中每个组件的构造方法。
企业架构模式指出了全局架构下的子系统及局部应用的设计方法。常用的模式包括大家熟悉的J2EE设计模式(包括会话外观(Session Facade)、传输对象等),以及马丁·福勒(MartinFowler)在著作《Patterns of Enterprise Application Architecture》(Addison-WesleyProfessional出版)(译注1)中提到的应用架构模式。
集成模式研究怎样在系统的组件、应用和子系统之间传递信息,共享功能,它是设计和交流重要手段。集成模式包括文件共享、远程方法调用,以及不同消息传递模式。各种集成模式的详细介绍请参考:http://www.enterpriseinte-grationpatterns.com/eaipatterns.html。
“四人帮”(译注2)(Gang of Four)在《Design Patterns:Elements of Reusable Object-Oriented Software》(Addison-WesleyProfessional出版)(译注3)中描述的基本设计模式,是每位架构师必须常握的知识。虽然这些模式讨论是较底层的设计内容,离架构师的工作较远,但是它们是架构师和开发人员相互交流的标准行话,可以提高沟通效率。
除了以上四类模式外,架构师还应该了解并提防各种反模式(anti-pattern)。反模式指的是影响软件开发结果的常见错误,这个词是安德鲁·凯尼格(AndrewKoening)发明的。常见的反模式包括需求分析麻痹症(Analysis Paralysis)、委员会设计(Design By Committee)、磨菇管理(Mushroom Management)、死亡征途(Death March)等。学习反模式可以避免许多容易疏忽的问题。各种常见的反模式请参考:http://en.wikipedia.org/wiki/Anti-patterns。
用清晰、简洁、高效的方法与同行进行沟通,是软件架构师应该具备的能力。前人总结了许多现在的模式,架构师只有学习和理解它们,才能同时提高工作水平和沟通能力。
译注1:这本书的中文版《企业应用架构模式》由机械工业出版 出版。
译注3:这本书的中文版《设计模式:可复用面向对象软件的基础》由机械工业出版 出版。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!