摘要: 有时候你需要系统只产生一个类的实例,比如你的手机上面所有的应用,只能共享同一份电话薄。 python的代码很简单:http://blog.csdn.net/insistgogo/article/details/9412863def Singleton( cls ): instance = {... 阅读全文
posted @ 2013-04-11 20:47 brackenbo 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 设计模式,是一种指导思想,是一种需要融合进代码设计的一种提纲挈领。 今天进入工厂模式探究: 简单工厂: 简单工厂即在工厂类中,根据所输入产品的类型,生产对应的产品。但是,这样的话,工程类就需要包含所有产品的生产实现。例子如下: #include <iostream>using namespace std;enum CAR_TYPE { ROLLSROYCE, BENTLEY, MAYBACH, LAMBORGHINI, FERRARI, ASTONMARTIN };class Car{public: Car(){} ~Car(){} ... 阅读全文
posted @ 2013-04-10 21:26 brackenbo 阅读(168) 评论(0) 推荐(0) 编辑
摘要: Head Fisrt设计模式上面有一句话:代理模式要做的:控制和管理访问。代理类似于明星的经纪人,可以处理来访的需求,但不影响明星本人的行为。 下面的例子,TV是对电视的操作,有channel表示当前的频道,power表示电视电源开关。通过proxy代理,可以记录曾经的操作,如打开的次数,转频道的次数等。import randomimport unittestclass TV(object): """docstring for TV""" def __init__(self, brand): self._brand = brand s 阅读全文
posted @ 2013-04-07 21:29 brackenbo 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 装饰模式,是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式。就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能。 大概明白,还没想好怎么说明#include <iostream>using namespace std;class Widget{public: virtual void draw() = 0; ~Widget(){} /* data */};class TextField : public Widget{public: TextField(int w, int h ): width(w), height(... 阅读全文
posted @ 2013-03-29 21:15 brackenbo 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。 通俗点来说,就是一个主题类(subject)在状态发生改变时,通过观察者(observer)提供的方法,来更新观察者的状态。首先观察者需要到主题类中注册。附带维基百科的代码:python:相对简洁class AbstractSubject(object): def register(self, listener): raise NotImplementedError("Must subclass me... 阅读全文
posted @ 2013-03-29 00:24 brackenbo 阅读(224) 评论(0) 推荐(0) 编辑
摘要: “把模式装进你的脑子里面,然后在你的设计和已有的应用中,寻找何处可以使用它们。” a.策略模式: 假设有个Duck类,类中需要fly和quack接口,一个表示鸭子会飞,一个表示鸭子的叫声。如果需要产生一个橡皮鸭子,就需要从鸭子类继承产生,但是fly也会被继承下来。实际上橡皮鸭子被限制为不会飞(当然,也可以在橡皮鸭中,将fly接口重新实现。但是,实例仍然调用的是叫fly的接口,却使得橡皮鸭不能飞。有点矛盾!)。而且,当需要产生很多不同种的鸭子类型的时候,可能重新构造fly接口的工作很多,这导致了不必要的重复。 这样就导致了策略模式的产生: 定义: 策略模式作为一种软... 阅读全文
posted @ 2013-03-24 13:32 brackenbo 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 之前从QQ微博接收的数据为json数据。具体过程如下: 1. 从QQ微博接口接受数据,需要构造请求url,如下所示:url_str = 'https://open.t.qq.com/api/statuses/home_timeline?oauth_consumer_key=%s&access_token=%s&openid=%s&clientip=%s&oauth_version=2.a&scope=all' %( QQ_CONFIG['APP_KEY'], str(access_token), open_id, &quo 阅读全文
posted @ 2013-03-23 14:33 brackenbo 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 首先,登录开发者页面,申请网页应用接入。http://dev.t.qq.com/development。获取到app_key,和app_secret. 阅读全文
posted @ 2013-03-17 01:07 brackenbo 阅读(188) 评论(0) 推荐(0) 编辑
摘要: python-instagram是github上面的一个专门用来获取instagram的API的库。地址:https://github.com/Instagram/python-instagram 我们的示例将从SAE开始。框架为Flask。 1.首先获取应用的client_id和client_scret.CONFIG = { "client_id": "9ef948a67d514ed0b6bb46166cf7400b", "client_secret": "d010d40a8a9247b9996bb55c2d831ce5& 阅读全文
posted @ 2013-03-16 00:38 brackenbo 阅读(974) 评论(0) 推荐(0) 编辑
摘要: instagram目前好像在国内还不是用的很广泛。 其获取instagram的数据有两种方式: 1. 获取公共热点图片不需要用户认证,只需要将你申请的client_id发送到instagram即可。 2. 获取用户相关数据,需要通过instagram认证之后所颁发的access_token. 在第二种方式下,如何获取access_token呢? 1.首先,需要将用户引导到instagram的认证url地址上。 用户会被要求输入登陆口令,并选择是否授权权限给你的应用。 2.服务器会以下面两种方式的一种来将用户重定向到你的应用: a. 服务器侧流程(推荐)。将用户重定向到你的某个页面,此时服务.. 阅读全文
posted @ 2013-03-10 23:34 brackenbo 阅读(3371) 评论(0) 推荐(0) 编辑