首页 » 程序员必读之软件架构 » 程序员必读之软件架构全文在线阅读

《程序员必读之软件架构》太多假设

关灯直达底部

下面的图告诉我们解决方案是一个多层Java EE系统,但它忽略了一些重要的细节。

对于通信是如何发生的,Web服务器和应用程序服务器之间的连线没有提供任何信息。是SOAP、RESTful服务、HTTP请求的XML、远程方法调用、Windows通信基础、还是异步消息?答案是不清楚,我考虑这一点有三个理由。

1.约束 :如果是在一个存在约束 的环境中工作,技术的选择可能已经为你做好了。比如,你可能有进程间通信的标准,或者只允许某些类型的流量通过的防火墙。

2.非功能需求 :技术和协议的选择可能会影响到你能否满足非功能需求,特别是如果你正在处理高性能、可伸缩性和安全性。

3.复杂度 :我曾经与从未创建过多层架构的软件团队一起工作,他们往往误以为这种架构风格可以“不费吹灰之力”得来。在现实世界中,更多分层意味着更高的复杂度 。

就算有很多选项,团队往往也不喜欢在把一些原型组成整体之前就匆匆提交。没问题,只是换成用潜在选项清单来注释图上那些线,这样至少我们能更好的对话。