系统架构师 百分网手机站

系统架构设计模式

时间:2017-05-16 19:48:30 系统架构师 我要投稿

系统架构设计模式大全

  目前系统架构大约有110多种设计模式,模式不是教条,模式仅仅是经验的总结,下面小编为大家整理了一些系统架构设计模式,一起来看看吧:

  Domain Model:定义了一个应用领域结构和工作流的精确模型,其中还包括它们的变化。

  Layers:解决系统合理分层的问题。

  Model-View-Controller:解决对用户界面变化的支持问题。支持某一特定用户界面的变化。

  Presentation-Abstraction-Control:解决相同业务具有多种表现形式问题。

  Microkernel:解决业务具有多种不同业务方法的问题。

  Refelection:解决需要动态改变软件系统结构和行为的问题。

  Pipes and Filters:解决算法的结构化并可以重新构建的问题。

  Shared Repository:适用于网络管理和控制系统领域。

  Blackboard:解决运行中智能化改进处理方法的问题。

  Domain Object:表现为已经将自我完备的连贯功能和基础性责任封装成定义良好的实体,通过一个或多个”显示接口”提供功能,并隐藏内部结构和实现。

  Messaging:由一系列相互连接的MessageChannel和Message Router管理着跨网络的不同服务间的消息交换。

  Message Channel:解决如何把彼此协作的客户端和服务连接起来的问题。

  Message Router:解决如何根据条件接受”信道”消息的问题。

  Message Translator:解决如何转换消息格式的问题。

  Message Endpoint:解决把数据转换为消息中间件能够理解的形式的问题。

  Publisher-Subscriber:为了在应用中更好的把彼此关注的事件通知给其它领域对象。

  Broker:通过一个代理管理器管理领域对象间远程互操作的各个关键方面。

  Client Proxy:解决客户端应用与网络基础设施相互屏蔽的问题。

  Requestor:解决应用代码被基础设施的代码污染而影响可移植性的问题。

  Invoker:解决服务代码被基础设施的代码污染而影响可移植性的问题。

  Client Request Handler:解决客户端应用与通信相互影响的问题,它封装了客户端在统一的接口背后进行的进程间通信的细节。

  Server Request Handler:解决服务端应用与通信相互影响的问题,封装了服务器端在统一的接口背后进行的进程间通信的细节。

  Reactor:解决在应用中避免使用多线程的问题。

  Proactor:解决在多线程的背景下出现性能问题的缺陷。

  Acceptor-Connector:把事件初始化与具体处理方法分离,从而提高可维护性。

  Asynchronous Completion Token:解决异步到达的事件仍然能按一定顺序处理的问题。

  Explicit Interface:解决如何正确设计接口的问题。

  Extension Interface:随着时间的推移,组件的接口是会膨胀的,一个胖的接口将更脆弱。解决防止”胖”接口并分离接口。

  Introspective Interface:解决公开内部信息接口的问题。

  Dynamic Invocation Interface:解决同一个接口允许客户端调用多种方法的问题。

  Proxy:解决在同一个接口下通过代理屏蔽某些实现的问题。

  Business Delegate:由本地业务代表来完成所有网络任务,分离了应用和网络处理的业务,减少了开发难度、提高了可理解性和可维护性。

  Facade:解决屏蔽子系统的变化辐射到高层应用的问题。

  Combined Method:解决多种相互关联的方法不合理的分布的问题。

  Iterator:解决分布式元素能够方便迭代的问题。

  Enumeration Method:解决减少外部迭代方式多次对聚合中的元素进行独立访问开销的问题。

  Batch Method:解决多次访问加大网络开销的问题。

  Encapsulated Implementation:解决对象划分的基本原则和方法问题。

  Composite:建立一种结构灵活的树状结构对象组织形式,形成“整体/部分”层级结构。

  Half-Object plus Protocol:通过在分布式系统中合理布局对象,以减少不合理的网络流量和服务器压力。

  Replicated Component Group:解决分布式系统容错的问题,复制的组件实现位于不同的网络节点,并组成一个组件组。

  Half-Sync/Half-Async:对并发系统中的异步和同步服务处理解耦合以简化编程,但又不会过度地影响性能。

  Leader/Followers:解决大批量小处理的环境下减少并发线程应用的问题。