python
文章平均质量分 77
奕涛
机器学习热爱者
展开
-
设计模式之建造者模式
# -*- coding: utf-8 -*-"""建造者模式的Python实现"""from abc import ABCMeta, abstractmethod#抽象建造者,此类规定具体建造者需要实现的方法class AbcBuilder(object): __metaclass__ = ABCMeta #product是用户需要的产品 def原创 2014-09-13 02:16:20 · 453 阅读 · 0 评论 -
设计模式之策略模式
# -*- coding: utf-8 -*-"""这是策略模式的一个应用场景(参考了《大话设计模式》)。高质量程序:简洁、可修改、可扩展、可复用。此处使用了一个上下文类,作为后台与客户端的中间人,这样一来当客户需要修改优惠策略时只修改上下类中的优惠策略选项即可,故程序具有可修改性;如果需要添加新的优惠策略,只需要添加新的具体策略类即可,故程序具有可扩展性。note:1.策略原创 2014-09-17 21:16:57 · 380 阅读 · 0 评论 -
设计模式之适配器模式
# -*- coding: utf-8 -*-"""@author: Edgar这是适配器模式的一个应用场景。(具体故事情节请见《大话设计模式》)·适配器模式使得原本接口不统一的类能被统一调度。"""class Center(object):#中锋类 def __init__(self, name): self.name = name原创 2014-10-04 15:10:58 · 333 阅读 · 0 评论 -
设计模式之职责链模式
# -*- coding: gbk -*-# -*- coding: utf-8 -*-"""@author: Edgar这是职责链模式的一个应用场景。(具体故事情节请见《大话设计模式》)·职责链模式下,客户端只需要传递信号给系统,不需要知道系统安排谁处理,也不需要知道这个人怎么处理信号的。"""class AbsManager(object): def __init_原创 2014-10-04 10:48:00 · 339 阅读 · 0 评论 -
设计模式之备忘录模式
#-*- coding:gbk -*-#-*- coding:utf-8 -*-"""这是备忘录模式的一个应用场景。李逍遥打完BOSS升级后,玩家阿涛觉得不满意,希望重新打一次。幸好打之前有存档,于是读档后又打了一次BOSS,结果这一次被BOSS给打死了,无奈之下只好重新来过。note:1.备忘录模式能记录对象状态,在需要的时候恢复之,常用于新状态无效时将状态复原。"""i原创 2014-09-14 18:16:19 · 348 阅读 · 0 评论 -
设计模式之门面模式
# -*- coding: gbk -*-# -*- coding: utf-8 -*-"""@author: Edgar这是门面模式的一个应用场景。(具体故事情节请见《设计模式之禅》)·门面模式把一套方法封装起来,用户不需要知道具体的实现细节。"""class LetterProcessImpl(object): def writeContext(self, cont原创 2014-10-04 17:34:08 · 455 阅读 · 0 评论 -
设计模式之参观者模式
# -*- coding: gbk -*-# -*- coding: utf-8 -*-"""@author: Edgar这是参观者模式的一个应用场景。(具体故事情节请见《设计模式之禅》)·参观者模式能为不同的类提供接口一致,但具体实现不同的方法。即为不同的被访问提出量身定制的反馈。"""class Employee(object): def __init__原创 2014-10-05 19:41:48 · 889 阅读 · 0 评论 -
设计模式之状态模式
# -*- coding: gbk -*-# -*- coding: utf-8 -*-"""@author: Edgar这是状态模式的一个应用场景。(具体故事情节请见《设计模式之禅》)"""class Context(object): def __init__(self): self.open_State = Open_State(self)原创 2014-10-05 21:21:05 · 445 阅读 · 0 评论 -
设计模式之简单工厂模式与单例模式
# -*- coding: gbk -*-# -*- coding: utf-8 -*-"""这是简单工厂模式和单例模式的一个应用场景(来自《大话设计模式》)。高质量程序:简洁、可修改、可复用、可扩展。此处使用简单工厂模式实现一个计算器,在需要修改具体运算类时只需修改相应的那个类,故具备可修改性;实现好的具体运算类可被其他程序复用,故具备可复用性;当需要增加新运算方法时只需要添加原创 2014-09-17 19:54:44 · 481 阅读 · 0 评论 -
设计模式之组合模式
#-*- coding:gbk -*-#-*- coding:utf-8 -*-"""这是组合模式的一个应用场景。阿涛游历江湖,遇到伏火教的人,向知情人打探消息后决定记录其组织结构的数据,以便以后分析。由于对伏火教的情报掌握有限,因此阿涛决定先忽略总教和分教的区别,于是采用了组合模式进行记录。note:1.当你发现需求中是体现部分与整体层次的结构时,以及你希望用户可以忽略组合对象原创 2014-09-17 20:01:45 · 292 阅读 · 0 评论 -
OpenCV-Python 安装
这篇文章介绍在Windows下安装OpenCV-Python的原创 2014-04-20 18:01:44 · 729 阅读 · 0 评论 -
设计模式之代理模式
# -*- coding: gbk -*-# -*- coding: utf-8 -*-"""@author: 涛这是代理模式的一个应用场景。(参考了《设计模式之禅》)·代理模式的主要作用是在委托类的方法被执行的前后做预处理或善后处理。比如此场景中玩家委托游戏代练帮他升级,每升一级玩家要付钱给代练者。·这样做可以让产品设计更符合逻辑,我想架构师的任务之一就是设计一个符合人类思考逻原创 2014-10-03 15:31:05 · 326 阅读 · 0 评论 -
设计模式之命令模式
# -*- coding: gbk -*-# -*- coding: utf-8 -*-"""这是命令模式的一个应用场景。(具体的故事情节请见《设计模式之禅》)@author: 涛"""class AbsGroup(object): def __init__(self): self.name = self.__class__.__name__原创 2014-10-04 00:08:45 · 383 阅读 · 0 评论 -
设计模式之中介者模式
# -*- coding: gbk -*-# -*- coding: utf-8 -*-"""这是中介者模式的一个应用场景。(参考了《设计模式之禅》)·中介者模式中每个模块只负责自己的业务逻辑,不属于自己的则丢给中介者来处理。(迪米特原则,单一职责原则,开闭原则)"""class AbsMediator(object): #中介部门,沟通采购、销售、库存部门 def _原创 2014-10-03 17:50:06 · 370 阅读 · 0 评论 -
设计模式之观察者模式
# -*- coding: gbk -*-# -*- coding: utf-8 -*-"""@author: Edagr这是观察者模式的一个应用场景。(具体故事情节请见《设计模式之禅》)·观察者模式使得被观察者的行为能引起观察者的反应。"""class Observable(object): def __init__(self): self.observ原创 2014-10-04 16:49:43 · 371 阅读 · 0 评论 -
[转载]python中package机制的两种实现方式
转自http://www.cnblogs.com/phinecos/archive/2010/05/07/1730027.html当执行import module时,解释器会根据下面的搜索路径,搜索module1.py文件。1) 当前工作目录2) PYTHONPATH中的目录3) Python安装目录 事实上,模块搜索是在保存在sys.p转载 2015-01-28 00:32:38 · 330 阅读 · 0 评论