设计模式--proxy代理模式

Proxy 模式的好处:重要关系的分离。这下面数据库的例子中,业务规则和数据库就被完全分开了。OrderImp 对于数据库没有任何依赖。
如果想更改数据库模式或者数据库引擎,我们可以在不影响Order,OrderImp以及其他任何其他业务领域的情况下完成。

我们在实际工作中经常会用到第三方的API.比如数据库引擎,中间件引擎,类库,等等。
我们一般有两种方法使用它们:
1.应用程序直接调用这些API去使用它们。
2.使用代理层来隔离应用业务规则和第三方的API。



    图1: 直接调用API



图2: 通过proxy 层来访问API



图3:Proxy Mode 是如何倒置应用程序和层之间的依赖关系


proxy 模式分成3个部分:

1、interface 部分:也就是图1 例子中的order interface。声明了用户需要调用的所有方法。

2、implementation部分:也就是图1例子中的ordeImplementation。 在不涉及数据库操作的情况下,实现接口中的方法,主要实现业务逻辑规则。

3、proxy部分:也就是图1中的orderProxy。实现接口中的方法,操作数据库,并调用implementation中的业务逻辑。



图1  proxy 模式的静态模型



图2 proxy 模式的动态模型



Android IPC binder 中的proxy mode:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值