python教程:几行代码搞定python 设计模式

# #!/usr/bin/env python
# # -*- coding:utf-8
#
# class HttpBase:
# def get(self):
# psss
# class Http1(HttpBase):
# def get(self):
# print 'http1'
# class Http2(HttpBase):
# def get(self):
# print 'http2'
#
#
# class Base:
# def __init__(self):
# self.httpobj = None
# def http(self):
# self.httpobj.get()
# def compute(self):
# self.http()
# self.show()
# #虚函数
# def show(self):
# pass
# def notify(self, k):
# print 'notify', k
#
#
# #桥接模式,通过A,B 关联不同的http1和http2
# class BaseA(Base):
# def __init__(self):
# self.httpobj = Http1()
# def notify(self, k):
# print 'A notify', k
# def show(self):
# print 'show a'
#
# class BaseB(Base):
# def __init__(self):
# self.httpobj = Http2()
# def notify(self, k):
# print 'B notify', k
# def show(self):
# print 'show b'
#
# #观测者模式
# class Observer:
# def __init__(self):
# self.listOB = []
# def register(self, obj):
# self.listOB.append(obj)
# def notify(self):
# for obj in self.listOB:
# obj.notify(len(self.listOB))
#
# #适配器模式
# class B1:
# def http(self):
# BaseB().http()
# #工厂模式
# class Factory:
# def CreateA(self):
# return BaseA()
# def CreateB(self):
# return BaseB()
#
#
# #单例模式
# class Logger(object):
# log = None
# @staticmethod
# def new():
#
# import threading
# #线程安全
# mylock = threading.RLock()
# mylock.acquire()
# if not Logger.log:
# Logger.log = Logger()
# mylock.release()
#
# return Logger.log
# def write(self, v):
# print 'Logger ', v
#
# if __name__ == "__main__":
# a = Factory().CreateA()
# b = Factory().CreateB()
#
# objS = Observer()
# objS.register(a)
# objS.register(b)
#
# a.compute()
# b.compute()
# objS.notify()
#
# b1 = B1()
# b1.http()
#
# Logger.new().log.write('v')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值