【python】代理模式
【python】简单工厂模式
【python】策略模式
【python】装饰模式
【python】代理模式
摘要
抽空学习下常见的20几种设计模式,python2.7来设计实现。基本就根据某设计模式书籍来实现python版本。希望能坚持下来全部介绍完。设计模式介绍中可能会涉及到一些UML类图,忘了的可以看一下https://blog.csdn.net/zhaxun/article/details/124048871
一、代理模式的官方解释
代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
二、私人解释
代理就是真实对象的代表,不对外暴露真实对象。
三、优缺点
优点
(1).职责清晰
真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。
(2).代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作用。
(3).高扩展性
四、图与代码
1.UML类图
2.python代码
代码如下:
# encoding: utf-8
class ISubject(object):
def request(self):
raise NotImplementedError
class RealSubject(ISubject):
def request(self):
print '真实的请求'
class SubjectProxy(ISubject