设计模式笔记之 - Proxy & Stairway to heaven
2005-09-22 19:02
267 查看
Proxy:
此模式主要用在跨越障碍的情况下在参与者都不知晓的情况下被插入到应用中,这是Proxy的优点,但是随之也带来了复杂度。
每个要被代理的对象都被分成三部分,第一部分是一个接口,该接口中声明了客户要调用的所有方法。第二部分是一个类,该类在不涉及数据库逻辑的情况下实现了接口中的方法,第三部分是一个知晓数具体障碍(如数据库)的代理。
请看下面一个实例:
其中,Product为一个接口,ProductDBProxy实现这个接口方法,这些方法是通过DB从数据库里取信息,而取出来后建立ProductImplementation对象,并委托给它相应的方法,这样客户只需要知道自己调用的是Product接口的方法,而ProductImplemetation者也不需要知道存在ProductDBProxy的存在。
Stairway to heaven 模式:
此模式需要多重继承,而C#不支持,加上现在时间紧张,所以我也就不想费时间看了,看了也会忘的,呵呵,好了,此模式就不记录了。
结论:
这两个模式都需要很大的开销,对于Proxy模式最好先用Façade模式,然后在必要的时候再进行重构,如果这样的话,会节约时间并省去麻烦,也就是不要贪杯过度设计了。
此模式主要用在跨越障碍的情况下在参与者都不知晓的情况下被插入到应用中,这是Proxy的优点,但是随之也带来了复杂度。
每个要被代理的对象都被分成三部分,第一部分是一个接口,该接口中声明了客户要调用的所有方法。第二部分是一个类,该类在不涉及数据库逻辑的情况下实现了接口中的方法,第三部分是一个知晓数具体障碍(如数据库)的代理。
请看下面一个实例:
其中,Product为一个接口,ProductDBProxy实现这个接口方法,这些方法是通过DB从数据库里取信息,而取出来后建立ProductImplementation对象,并委托给它相应的方法,这样客户只需要知道自己调用的是Product接口的方法,而ProductImplemetation者也不需要知道存在ProductDBProxy的存在。
Stairway to heaven 模式:
此模式需要多重继承,而C#不支持,加上现在时间紧张,所以我也就不想费时间看了,看了也会忘的,呵呵,好了,此模式就不记录了。
结论:
这两个模式都需要很大的开销,对于Proxy模式最好先用Façade模式,然后在必要的时候再进行重构,如果这样的话,会节约时间并省去麻烦,也就是不要贪杯过度设计了。
相关文章推荐
- 设计模式学习笔记(五)之代理模式(Proxy)
- 设计模式 笔记 代理模式 Proxy
- 设计模式--代理模式Proxy(学习笔记)
- 设计模式学习笔记(十六)—Proxy模式
- 设计模式C++学习笔记之二(Proxy代理模式)
- 设计模式学习笔记--Proxy代理模式
- 步步为营 .NET 设计模式学习笔记 七、Proxy(代理模式
- 设计模式学习笔记(五)之代理模式(Proxy)
- 笔记:Gof设计模式--Proxy
- 设计模式C++学习笔记之九(Proxy代理模式)
- 设计模式笔记-Proxy模式
- 设计模式C++学习笔记之二(Proxy代理模式)
- 设计模式C++学习笔记之二(Proxy代理模式)
- 设计模式(c++)笔记之十二(Proxy模式)
- 设计模式笔记 – Proxy 代理模式 (Design Pattern)
- 《第一行代码Java》接口实现代理设计模式(Proxy)笔记与代码
- 设计模式笔记(7 FLYWEIGHT & PROXY)
- 设计模式C++学习笔记之二(Proxy代理模式)
- 设计模式 笔记 代理模式 Proxy
- 设计模式C++学习笔记之二(Proxy代理模式)