您的位置:首页 > 其它

起码要有两个可选的解决方案

2015-08-09 18:59 169 查看
作者:蒂莫西·海伊

你可能听过这条规矩。如果你是一名经验丰富的架构师,你肯定知道这点:对于某个问题,如果只考虑了一个解决方案,那你就有麻烦了。

软件架构是要在所有给定的约束条件下,寻找到解决问题的最佳方案。期望第一个解决方案即满足全部的需求和约束,几乎是不可能的。一般来说,必须根据优先级次序进行权衡,选择最符合需求的解决方案。

如果对手头的问题只有一个解决方案,这意味着将没有进行折衷权衡的余地。这个唯一的解决方案很可无法令系统投资方满意。这也意味着,如果由于商业环境瞬息万变而导致优先级次序发生转变,系统很可能没有空间来适应新的需求。

这种情况即使有——也绝少是真地由于缺乏可选方案而造成的,它更可能是架构师缺乏特定问题域的经验所致。如果事实确是如此,别费力气,赶紧让更有经验的架构师助你一臂之力。

如果依照习设计架构,这个问题将更不容易为人所察觉。架构师也许己熟稔于某种单一风格的架构(例如,三层或多层的客户机-服务器系统),却没有充分认识它不适用的情。如果发现自己在还没有对比其它方法之前,就己经想当然的给出了解决方案,那么,停下来,向后退一步,问问自己,是否能够想出另一种方法。如果不能,你可以需要帮助了。

我的一个朋友,曾是一家成长中的小型互联网创业公司的技术负责人。随着用户群扩大,他们系统的负载与日俱增,性能也每况愈下,公司开始渐渐失去来之不易的用户。

于是,老板问他,“我们该如何提高系统性能?”

我的朋友回答:“买一台更大的机器!”

“还有什么其他可做的?”

“嗯……据我所知,只有这样了。”

我的朋友被当场解雇了。当然,这个老板是正确的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: