装饰者模式 在不改变原对象的基础上,通过对其进行包装拓展(添加属性或者方法)使原有对象可以满足用户的更复杂需求。 实例 假定我们现在有一个方法及调用,如下: function changeData(target, key…
分类:python设计模式
python numpy模块玩转矩阵与科学计算
学生时代玩矩阵最爽的工具自然是matlab了。而且matlab天生就是为科学计算,为矩阵而生。matlab的一切对象皆可看成矩阵,最简单的一个整数,也是个1*1的矩阵。但是在公司里面以后,matlab就玩不转了。道理很简…
设计模式12-策略模式
策略模式 定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。 优点: 1、算法可以自由切换;2、避免使用多重条件判断;3、扩展性良好。 缺点: 1、策略类数量增多;2、所有的策略类都需要对外暴露。 使用场景: …
python设计模式(命令模式)
学习版本3.5.2 命令模式:将请求封装成对象,以便使用不同的请求、日志、队列等来参数化其它对象。命令模式也支持撤销操作。 #学习版本3.5.2 '''命令模式举例:将军通过传令兵来命令士兵攻击或者防守''' #命令 c…
【Python】logging结合decorator模式实优化日志输出
python内置的loging模块非常简便易用, 很适合程序运行日志的输出。 而结合python的装饰器模式,则可实现简明实用的代码。测试代码如下所示: #! /usr/bin/env python2.7 …
Python的结构型设计模式之组合模式
组合模式,可用来统合类体系中的两种对象:一种对象能够包含体系中的其他对象,另一种不能。前者叫“组合体”,后者叫“非组合体” 白话来说,好几个东西,都是来自于同一个祖父,但是有些却结合了在一起,而结合在一起的它们,又可以用…
Python正则表达式匹配中文
参照Python正则表达式指南 在使用Python的过程中,由于需求原因,我们经常需要在文本或者网页元素中用Python正则表达式匹配中文,但是我们经常所熟知的正则表达式却只能匹配英文,而对于中文编码却望尘莫及,于是我大…
Python设计模式之命令模式
命令模式学习链接 #!/usr/bin/python # coding:utf8 """ 命令行模式 """ import abc class Receiver(object): ''' 命令接收者,正在执行命令的地方,…
python实现设计模式
本文的代码地址 什么是设计模式 软件工程中,设计模式是指软件设计问题的推荐方案。设计模式一般是描述如何组织代码和使用最佳实践来解决常见的设计问题。需要谨记的一点是:设计模式是高层次的方案,与具体实现细节无关(如算法,数据…
用PostgreSQL支持含有更新,删除,插入的实时流式计算
大多数的流式计算产品只支持APPEND ONLY的应用场景,也就是只有插入,没有更新和删除操作。 如果要实现更新和删除的实时流式计算,在PostgreSQL中可以这样来实现。 在此前你可以阅读我以前写的文章来了解PG是如…
Python设计模式之原型模式
原型模式学习链接 import copy from collections import OrderedDict class Book: def __init__(self, name, authors, price, …
《设计模式》学习笔记8——外观模式
定义 外观模式引用书中的定义如下: 为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式又称为门面模式,它是一种对象结构型模式。外观模式是迪米特法则的一种具体…