构架之美

1313阅读 0评论2012-11-29 sdsdfs1111
分类:系统运维

人们在生活和工作中发现美并创造美,软件开发和架构设计也不例外。

架构之美体现了关注点的分离与结合。在软件设计中,设计师需要考虑多方面的关注点。

漂亮的架构设计让这些关注点尽可能分离,然后以最简单的机制结合在一起,从而得到

高内聚、低耦合的系统。例如在Darkstar 项目中,架构师们考虑的重点就是如何将多人

在线游戏的游戏逻辑与系统的可伸缩性分离开来,让游戏的开发者只要遵守少量的规则,

就能够像编写单机游戏一样编写大规模多人在线游戏。又如REST架构风格,体现了对

资源命名、请求处理和资源物理表现形式的关注点分离。资源的名称与请求资源时服务

器的处理方式无关,请求者无需知道服务器端采取的技术,并且请求者本来就不关心服

务器端的处理技术。资源的物理表示形式可以通过内容协商来决定,使系统可以支持多

种物理表示形式,并可以方便地扩展。

架构之美注重表达的简洁性。“Dont Repeat Yourself”,好的架构致力于消除各种类型

的信息重复。从结构化程序设计中的子程序和函数,到面向对象程序设计中的继承,无

不体现了对表达简洁性的特殊偏爱。在敏捷方法学中,消除重复则是重构的主要目的之

一。爱因斯坦说:“让它尽可能简单,但不要过于简单。”我们需要考虑所有必须考虑的

关注点,然后用简洁漂亮的架构体现我们的关注。同时,简洁的架构之美也降低了软件

的总体成本,从这个意义上说,“简洁性”又可以称为“经济性”。

架构之美需要解决实际问题,它既是艺术,也是生活。软件像建筑一样,它的美不能脱

离它的实用价值。Bjarne Stroustrup 说,人类文明运行于软件之上。每一个软件都有自

己的架构,这些架构有的很美,有的不太美。从艺术的角度来说,美是创造矛盾并解决

矛盾。架构的多关注点和表达简洁性就是一种矛盾,美丽的架构提供了这一矛盾的解决

方法,让我们的内心产生一种愉快的感觉。

阅读全文请看

上一篇:微博时代,学习微博营销
下一篇:SSD固态硬盘羽翼已丰——开启云存储的新时代