企业应用架构的基本模式之入口模式

本篇介绍企业应用架构的基本模式之一入口(Gateway)模式。

入口(Gateway)

入口是一个封装外部系统或资源访问的对象。带来系统上的简单性,可测试性,使得依赖资源的替换变得更加容易。

背景

当访问外部资源时,通常要获得它们的API,但这些API可能具有天然的复杂性,因为它们必须考虑到资源自身的特性。任何要理解一个资源就必须首先通晓基API——无论是对关系数据库的JDBC,还是针对XML的W3C和JDOM,皆是如此。这使得软件的可读性差,修改变得困难,例如将来的某时将关系数据库的一些数据转移到XML,解决这一问题可以使用入口(Gateway)模式

做法

事实上这是一个十分简单的包装器(wrapper)模式。封装外部资源,创建一个简单的API并用入口将对该API的调用转移到外部资源上。

使用场景

如果必须通过一个复杂的接口与可能位于系统之外的事务交互,应当考虑入口模式。使用入口将复杂性封装起来,而不要让复杂性蔓延到整个系统中,使用入口几乎没有什么弊端,同时又可以使系统中入口类之外的代码可读性更高。有以下的好处:

使系统更易测试。

使你用一种资源来替换另一种资源变得更为容易。

即使你认为资源不会发生任何变化,你仍然可以从使用入口模式所带来的简单性和可测试性中获益。

入口模式与外观模式(Facade)和适配器(Adpter)以及中介者模式(Mediator)的区别

  • 外观模式对较复杂的API进行简化,其通常由服务的作者提供,而且是通过的。入口则是客户方为了其特定应用而编写的。此外,一个外观通常暗示一个与原始接口不同的接口,但在入口可以只是简单地照搬被包装的接口,这种入口用于将来替换资源或测试目的。
  • 适配器模式修改某一已经实现的接口,使其与另一个你所用到的接口相匹配。入口模式通常没有一个已存在的接口,虽然你可能会使用一个适配器来将一个实现映射到一个入口类的接口上。此时适配器是入口类实现的一部分。
  • 中介者模式通过用来将多个对象解耦,使得它们无需互相引用,而只要与中介者发生关联。入口模式通常只涉及两个对象,而且被包装的资源并不知道入口的存在。

本文首发于个人微信公众号:webguan ;欢迎您的关注

原文地址:https://www.cnblogs.com/xiaoyao2011/p/10163283.html

时间: 2024-10-31 15:14:04

企业应用架构的基本模式之入口模式的相关文章

企业应用架构模式pdf

下载地址:网盘下载 内容简介  · · · · · · <企业应用架构模式>作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的.关于解决方案的.不可或缺的手册.<企业应用架构模式>获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖.<企业应用架构模式>分为两大部分.第一部分是关于如何开发企业应用的简单介绍.第二部分是<企业应用架构模式>的主体,是关

企业应用架构模式 pdf下载

从大学到现在,这本书也许我反反复复地读了不下十遍,可是这次终于有了勇气把他标注为看过,因为直到今天我才自信自己真的理解了里面所讲的架构模式. 对于现在的互联网时代,所有的开发思想都是强调简洁,强调"敏捷",甚至曾经流行一时的OOD竟然有被嫌弃的趋势 需要学习的朋友可以通过网盘免费下载pdf版 (先点击普通下载-----再选择普通用户就能免费下载了)http://putpan.com/fs/fyibfens4hu6b61d5/ <企业应用架构模式>作者是当今面向对象软件开发的

《企业应用架构模式》(POEAA)读书笔记

原文地址:<企业应用架构模式>(POEAA)读书笔记作者:邹齐龙(技术-5013 什么是架构 Rolph Johnson认为:架构是一种主观上的东西,是专家级的项目开发人员对系统设计的一些可共享的理解 架构中包括一些决定,开发者希望这些决定能尽早作出,因为在开发者看来它们是难以改变的. 如果你发现某些决定不像你想象中的那么难以改变,那么它就不再与架构相关 理解: B/S (SmartClient.C/S) 架构, DotNet 架构, J2EE架构 企业应用的特点 涉及到持久化数据 很多人同时

《企业应用架构模式》读后感

1.企业应用架构模式 架构 架构的定义:最高层次的系统分解.系统中不容易改变的部分. 架构中最有价值的部分是:分层设计. 企业应用的特点 一般都涉及持久化数据 一般都涉及大量数据 一般还涉及很多人同时访问系统 还涉及大量操作数据的用户界面屏幕 通常还与企业周围的其他企业应用集成 还存在数据的概念不一致性 复杂的业务”无逻辑“ 系统庞大,须具有”分而治之“的思想 企业应用的种类(抽象.提炼) 处理大量数据的系统 用户界面高要求的系统 数据管理系统 关于性能的考虑 响应时间 响应性:进度条 等待时间

系统架构师-基础到企业应用架构-数据访问层

一.上章回顾 上篇我们简单讲述了服务层架构模式中的几种,并且讲解了服务层的作用及相关的设计规范,其实我们应该知道,在业务逻辑层中使用领域模型中使用服务层才 能发挥出最大的优势,如果说我们在业务逻辑层还是使用非领域模型的模式话,服务层的作用仅体现在解耦作用.其实在业务逻辑层采用领域模型时,我们前面说的持 久化透明的技术,其实我们可以通过服务层来做,我们在服务层中处理领域对象信息的持久化操作.当然本篇可能不会深入讨论持久化透明的具体实现,后面会单独开 篇来讲述,我们先来回顾下上篇讲解的内容:  上图

企业应用架构学习笔记

最近因为要学习领域驱动设计,在看到<领域驱动设计:软件核心复杂性应对之道>时,里面很多地方都提到了<企业应用架构模式>,企业应用架构这本书是由非常著名的Martin Fowler 写的,Martin Fowler 除了总结过企业架构的设计模式之外,还写了非常多的其它软件工程相关的文章,比如曾总结过IOC,写过分析模式,写过代码重构模式,具体可参看他的个人网站http://www.martinfowler.com/articles/injection.html,等我英文阅读能力提高了

企业应用架构演化探讨:从微服务到Service Mesh

作者:李宁 来源:博云技术社区 / 博云研究院 当下微服务的实践方案中,Spring Cloud,Dubbo作为主流的落地方案,在企业应用架构中发挥越来越重要的作用.本文探讨企业应用架构如何从微服务架构向Service Mesh架构演化,并形成落地方案.需要特别说明:本文讨论的架构目前适用于普通的企业级应用,其他行业(例如互联网)需要进一步扩展. 在讨论之前,我们需要明确一个事实:企业应用一定是围绕业务进行的. 无论采用什么的架构落地,都是为了更好的为应用业务进行服务.从企业应用的特性考虑,主要

企业应用架构之分层 - 总结

原网址将会不断更新 :   作程的技术博客  <企业应用架构之分层 - 总结> it.zuocheng.net 常见分层架构模式 三层架构 3-tier architecture 微软.net 体系推荐的分层结构,因此早期在ASP编码的系统中被广泛应用,同时也被其他语言广泛借鉴. 表现层, Presentation layer(PL) 主要负责数据的输入接口和输出.输入指在WEB.客户端或为外界提供的API的数据请求接口:输出则是Web界面.客户端输出.API的数据输出. 页面模版. 对外AP

系统架构师-基础到企业应用架构-业务逻辑层

一.上章回顾 上章我们主要讲述了系统设计规范与原则中的具体原则与规范及如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具 体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式.并且我们也讲述了该如何通过设计手段去分析功能点及设计分离 点,应该如何在设计的过程中分析的角度及如何去满足设计规范与原则.首先我们通过下图来回顾下上章要点: 二.摘要 本文将已架构的方式去分析分层结构中的业务层的设计,如何写出来内聚度,高耦合的业务逻辑层