软件架构发展至今,已随着信息技术的广泛应用而成为各个领域的关键技术能力。概括来讲。软件架构风格在实践中已被反复使用,不同的架构风格具有各自的优缺点和应用场景。比如管道-过滤器风格适用于将系统分成若干独立的步骤; 主程序/子系统和面向对象的架构风格可用于对组件内部进行设计; 虚拟机风格经常用于构造解释器或专家系统; C/S 和 B/S 风格适合于数据和处理分布在一定范围。通过网络连接构成系统; 平台/插件风格适用于具有插件扩展功能的应用程序; MVC 风格被广泛地应用于用户交互程序的设计; SOA 风格应用在企业集成等方面; C2 风格适用于 GUI 软件开发。用以构建灵活和可扩展的应用系统等。
而对于现代大型软件,很少使用单一的架构风格进行设计与开发,而是混合多种风格。从不同视角描述大型软件系统的能力。并可保证软件系统的可靠性可扩展性可维护性等非功能属性的正确描述。