有没有想过如何设计大型企业级系统? 在开始开发主要软件之前,我们必须选择一个合适的架构来为我们提供所需的功能和质量等属性。 因此,在将它们应用于我们的设计之前,我们应该了解不同的架构体系。
下面引用自维基百科
架构模式是在特定环境下软件体系结构中常见问题的通用可重用解决方案。架构模式类似于软件设计模式,但它属于更广泛的领域。
在本文中,我将简要地解释以下10种常见的架构模式及其用法,优缺点。
这种模式可以用来构建能分解为子任务组的结构化程序,每个子任务都处于特定的抽象级别。每层为下一更高层提供服务。
一个通用信息系统常见的4层如下:
这个模式包含两个部分:一个服务端+多个客户端。服务端组件提供给多个客户端组件服务。客户端请求服务,服务端提供相应的服务给客户端。除此之外,服务端不间歇地监听来自客户端的服务请求。
这种模式由两部分组成:主人(master)和奴隶(slaves)。主组件将工作分配给特定的从组件,并根据从组件返回的结果计算最终结果。
这个模式可被用于构建生成和处理数据流的系统。每个处理步骤都包含在一个过滤器组件中。被处理的数据需通过管道进行传递。这些管道可用于缓冲或同步目的。
这个模式用于使用架构的组件来构建的分布式系统。这些组件可以通过远程服务调用相互交互。代理组件负责协调组件之间的通信。服务端将其能力(服务和特性)发布给代理。客户端向经纪人请求服务,然后经纪人将客户重定向到其注册的对应服务。
在这种模式中,单个组件被称为同级点(Peer:身份,级别相同的点)。 同级点可以既作为客户端,向其它同级点请求服务,又作为服务器向其它同级点提供服务。 一个同级点既可以充当客户端或服务器或两者兼而有之,并且可以随着时间动态地改变其角色。
这个模式主要用于处理事件,有4个主要的组件:事件源,事件监听器,频道,事件总线。事件源将消息发布到事件总线上的特定频道。监听器订阅特定频道。监听器会收到发布到他们之前订阅的频道的消息。
这个模式又叫MVC模式,他把交互式应用程序分成了3个部分。
这种模式对于没有确定性解决策略的问题是有帮助的。黑板模式由3个主要组件组成。
所有组件都可以访问黑板。 组件可能产生添加到黑板的新数据对象。 组件在黑板上查找特定类型的数据,并可能通过与现有知识源的模式匹配找到这些数据。
此模式用于设计解释用专用语言编写的程序的组件。 它主要指定如何解释执行程序代码,称为用特定语言编写的句子或表达式。 基本思想是为语言的每个符号设置一个类。
下表总结了每种架构模式的优缺点(表里面的英文就不翻译了)
全文结束