摘要: 这篇文章说的很好,和大家分享一下,可能一些实战的朋友并不喜欢这种理论的东西,可以不看,这篇文章把软件体系结构和建筑学类比,形象化了体系结构设计。文章提到算法和数据结构有扩张和取代sa的可能,个人觉得有点欠妥,算法和数据结构毕竟是解决细粒度的问题,而体系结构最初从算法和数据结构脱离出来,形成一抽象的分析层次,就是因为软件越来越复杂,单凭算法和数据是很难解决问题的。算法数据结构和体系结构应该是属于不同的层次解决不同的问题罢了。文章也提到了黑盒复用和白盒复用的概念,强调了软件体系结构设计的意义。不过个人并不同意“软件体系结构是一个高层次上的抽象,它并不涉及具体的系统结构(比如b/s还是c/s),也不关心具体的实现。”笔者这句话,b/s和c/s 其实是一种设计风格,是软件体系结构的设计模式,其实模式的目的就是重用。在实际的架构设计中你不仅要可虑体系结构设计风格、框架以及复用构件等等,你也要考虑实现的技术和关键点的决策,这些都是需要在开发前期确定的。所以软件体系结构是高层抽象是不关心实现,但是他要涉及到具体的系统结构。
阅读全文