解析proxy代理模式在Ruby设计模式开发中的运用
代理模式
比如说C和A不在一个服务器上,A要频繁的调用C,我们可以在A上做一个代理类Proxy,把访问C的工作交给Proxy,这样对于A来说,就好像在直接访问C的对象。在对A的开发中我们可以把注意力完全放在业务的实现上。 通过代理模式以客户透明的形式动态的为目标对象加以行为控制 实例 class BankAccount def deposit p "store the money" end end class Proxy attr_accessor :bankAccount def initialize bankAccount @bankAccount = bankAccount end def deposit @bankAccount.deposit end end 创建银行账户类,再创建代理类,代理类聚合银行账户类,提供相同的行为结构,对客户来说代理类就是一个伪账户类,对代理类做操作的时候,其实就是在对真实的银行类做操作。 class Proxy attr_accessor :bankAccount def initialize bankAccount @bankAccount = bankAccount end def deposit check_something @bankAccount.deposit end def check_something #do some checking code end end 这样我们就可以在对调用目标对象的同时增加控制代码,但是这一切都是以透明的方式展示给客户,对客户来说就跟调用普通的BankAccount对象方法一样 bankAccount = BankAccount.new bankAccount.deposit proxy = Proxy.new bankAccount proxy.deposit Proxy模式的要点:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |