InfoQ

新闻

视频:从实践出发探索架构的本质

作者 潘加宇 温昱 发布于 2008年2月1日 上午7时52分

社区
Architecture
主题
业务流程管理,
企业架构,
架构
标签
模式与实践,
业务架构,
设计模式

架构是什么?架构设计就是设计接口吗?如何成为一个好的架构师?架构种类很多,开发人员如何选择?如何划分用例的粒度?架构设计过程中一定要引入很多的文档吗?如何将需求转化成一个良好设计的架构?UMLChina首席专家潘加宇和资深咨询顾问温昱(《软件架构设计》作者)与读者分享了他们对这些让人迷惑的问题的看法。

观看视频:从实践出发探索架构的本质(41分46秒)

架构是一个既实又虚的概念,每个人都有不同的理解,有的人从业十几年还称自己为程序员,有的人刚入门就自称架构师。对于架构的概念,温昱认为:

在业界,我们会为它归类,第一大类我把它叫做结构派,在我的书籍上也会提到;第二大类叫决策派。第二种类型是决策派,他的典型就是RUP提出的这个定义:软件架构是一系列有层次的这个决策。

因为潘加宇多年来一直关注需求和设计的技能和细节方面,所以他对架构的理解就是对于某个软件的类型而言比较稳定的东西,是从多个项目中提炼出来的东西。他比喻说:

就像我们这个人,你不管人怎么样,长得怎么样,里面的骨骼的机制是一样的,那这些东西可能跟具体的一些项目是没关系的。那正是因为它没关系,所以一旦我们一个团队选定了一个架构之后,我想这个架构上面的变化就不应该很大,而是应该重点就把这个精力放在业务上面。

对于如何将需求转化成良好的架构,潘加宇和温昱也给出了自己的看法,借用Grade Booch的“名言”,设计良好的架构途径无外乎三种:

第一方面呢,就是偷,也就是借鉴业界现成的一些正确的做法或者说是成功的做法;第二种是方法,我们先说第三种,第三种就是直接靠经验或者灵感来创造。第一种是偷,第三种是创造,那么介于两者之间呢,就是我们刚才也提到的方法。方法它不是说完全照搬,也不是说我就完全创造,它会有一些理性的分析,也会权衡怎么样来做这件事情等。

11 条回复

回复

能不能改善一下网速 发表人 harry wang 发表于 2008年2月1日 上午8时35分
Re: 能不能改善一下网速 发表人 rolle xu 发表于 2008年2月1日 下午11时37分
《软件架构设计》:一本包装出来的浮躁精品 发表人 Charlie Zhang(张恂) 发表于 2008年2月4日 下午8时42分
Re: 《软件架构设计》:一本包装出来的浮躁精品 发表人 justin wang 发表于 2008年2月5日 上午1时17分
关于什么是张恂的标准 发表人 Charlie Zhang(张恂) 发表于 2008年2月5日 上午2时5分
Re: 关于什么是张恂的标准 发表人 Alex Xu 发表于 2008年2月12日 下午9时26分
Re: 《软件架构设计》:一本包装出来的浮躁精品 发表人 Robin Chang 发表于 2008年2月5日 上午1时25分
确实网速很慢,视频看得不是很舒服 发表人 旭辉 叶 发表于 2008年2月23日 上午12时10分
何以见得!? 发表人 Eric Xu 发表于 2008年5月12日 下午9时40分
Re: 何以见得!? 发表人 Eric Xu 发表于 2008年5月12日 下午9时59分
要义 发表人 名讳 郭 发表于 2008年8月6日 上午12时53分
  1. 返回顶部

    能不能改善一下网速

    2008年2月1日 上午8时35分 发表人 harry wang

    能不能改善一下网速

  2. 返回顶部

    Re: 能不能改善一下网速

    2008年2月1日 下午11时37分 发表人 rolle xu

    也不支持缓冲
    效果太烂了

  3. 返回顶部

    《软件架构设计》:一本包装出来的浮躁精品

    2008年2月4日 下午8时42分 发表人 Charlie Zhang(张恂)

    又一本包装出来的浮躁精品:评温昱《软件架构设计》

    也许是我的粗心,我看错了,读得不够仔细,不够认真。

    从软件专业的角度看,我认为这是一本非常初级的、所谓的软件架构设计图书。在周筠、孟岩等人的眼里,这是一本隆重推出的原创精品,不知道它是否符合博文视点其他股东和投资人的精品标准。而我个人的鉴定意见是,此书完全达不到精品尤其是原创精品的标准。显然,在周筠、孟岩的精品标准与张恂的精品标准之间存在着巨大的 Gap。那么,什么是咱中国软件人、程序员所能广泛认同的精品标准,这是我想建议大家来一起研究的。

    我给所有图书的作者、编者、责编、总编、总监、总裁,以及形形色色的书托们 ... 等等一切利益相关者(包括张恂在内)的建议是:无论何时、何地,请千万不要投机取巧,千万不要忽悠读者。

    好了,我要看书、编程去了,继续学习中 ...

    软件架构设计专家 张恂
    www.zhangxun.com

  4. 返回顶部

    Re: 《软件架构设计》:一本包装出来的浮躁精品

    2008年2月5日 上午1时17分 发表人 justin wang

    “显然,在周筠、孟岩的精品标准与张恂的精品标准之间存在着巨大的 Gap。那么,什么是咱中国软件人、程序员所能广泛认同的精品标准,这是我想建议大家来一起研究的。”

    有个问题,张恂的标准到底是什么?

  5. 返回顶部

    Re: 《软件架构设计》:一本包装出来的浮躁精品

    2008年2月5日 上午1时25分 发表人 Robin Chang

    又一本包装出来的浮躁精品:评温昱《软件架构设计》

    也许是我的粗心,我看错了,读得不够仔细,不够认真。

    从软件专业的角度看,我认为这是一本非常初级的、所谓的软件架构设计图书。在周筠、孟岩等人的眼里,这是一本隆重推出的原创精品,不知道它是否符合博文视点其他股东和投资人的精品标准。而我个人的鉴定意见是,此书完全达不到精品尤其是原创精品的标准。显然,在周筠、孟岩的精品标准与张恂的精品标准之间存在着巨大的 Gap。那么,什么是咱中国软件人、程序员所能广泛认同的精品标准,这是我想建议大家来一起研究的。

    我给所有图书的作者、编者、责编、总编、总监、总裁,以及形形色色的书托们 ... 等等一切利益相关者(包括张恂在内)的建议是:无论何时、何地,请千万不要投机取巧,千万不要忽悠读者。

    好了,我要看书、编程去了,继续学习中 ...

    软件架构设计专家 张恂
    www.zhangxun.com

    成天就看到这个人在这里骂街,也不见你写出两本真正有用的东西来。看到别人写了一点东西出来就眼红了,难道你跟温昱有仇吗?看了很多你骂他的文章,今天实在有些看不过去了。
    书虽然是初级了点,但是对于刚入门或想入门的SA来说也是好事呀,看问题不要太偏执。

  6. 返回顶部

    关于什么是张恂的标准

    2008年2月5日 上午2时5分 发表人 Charlie Zhang(张恂)

    justin wang:

    有个问题,张恂的标准到底是什么?


    简单地说,就是更加自律和专业(more professional),向更专业、技术水平更高的作者学习,起码要达到行业的平均水准。

    软件研发作为一门科学和工程的艺术,也是一门特殊的专业和职业(profession),这项工作非常强调逻辑性,而科学的逻辑分析、思维和判断能力是需要经过长期专业、刻苦的训练才有可能掌握的。

    客观上,温昱的《软件架构设计》恰恰缺乏概念完整性(concept integrity),逻辑混乱,写作水平表现得非常业余。我很难相信,这是一位资深软件架构师的创作。建议有关人士最好不要再表演下去了。

    至于什么是软件技术图书的精品,什么是原创精品,我想众多西方的软件科学家、工程师、大师级专家们已经为我们作出了表率,大家都有收藏,不用我再赘举了吧。他们的著作所反映出来的那些质量属性,应该就是精品的标准。

    张恂

  7. 返回顶部

    Re: 关于什么是张恂的标准

    2008年2月12日 下午9时26分 发表人 Alex Xu

    说的好。作为一个技术人员一定要有所操守。不能昧着良心糊弄。那样只能会误人误己。

  8. 返回顶部

    确实网速很慢,视频看得不是很舒服

    2008年2月23日 上午12时10分 发表人 旭辉 叶

    希望管理员自己能够测试一下,并改善

  9. 返回顶部

    何以见得!?

    2008年5月12日 下午9时40分 发表人 Eric Xu

    “如果你手上的人,他的素质是非常低的,高中生程序员。”
    看来潘加宇直接把【素质】和【学历】挂钩,不愧是北京大学硕士,素质果然很高啊。

  10. 返回顶部

    Re: 何以见得!?

    2008年5月12日 下午9时59分 发表人 Eric Xu

    我就是一名高中生程序员,我在虚心学习你们的思想的同时,同时享受这种没有任何依据的侮辱,我不能认同素质可以和学历挂钩,在工作中我认为学历所起到的最大的作用还是敲门砖的作用,实际工作中的技术水平则完全取决勤奋、天赋和经验,就算在开发中会用到大学中我没有学习到的知识,我相信这我也能像学习一门新技术一样在较短时间入门。我认为大学知识并不全部是我需要的,而在社会中需要仅仅大学生这个身份。做为一个北京大学硕士,从你简单的谈吐中我更加能确定我的认识。

  11. 返回顶部

    要义

    2008年8月6日 上午12时53分 发表人 名讳 郭

    对于架构这个东东,实在没什么感觉,或许随着时间会有所认知。不过能够看到一些有价值的东西,足矣!建模技能需要积累;业务领域需要沟通

独家内容

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。