随笔分类 - 设计模式(Python)
摘要:需求,根据当前的时间,返回工作状态#encoding=utf-8__author__ = 'kevinlu1010@qq.com'def get_state(hour): if hour>=8 and hour12 and hour14 and hour18 and hour 8: ...
        阅读全文
                
摘要:需求:员工上班在偷偷看股票,拜托前台一旦老板进来,就通知他们,让他们停止看股票。这里有两类人,一类是观察者,即员工,一类是通知者,即前台,员工在观察前台的状态,前台负责通知员工最新的动态。#encoding=utf-8__author__ = 'kevinlu1010@qq.com'class Re...
        阅读全文
                
摘要:需求,画人物,要求画一个人的头,左手,右手,左脚,右脚和身体,画一个瘦子,一个胖子不使用设计模式#encoding=utf-8__author__ = 'kevinlu1010@qq.com'if __name__=='__name__': print '画左手' print '画右手'...
        阅读全文
                
摘要:单例模式是日常应用中最广泛的模式了,其目的就是令到单个进程中只存在一个类的实例,从而可以实现数据的共享,节省系统开销,防止io阻塞等等但是在多进程的应用中,单例模式就实现不了了,例如一些web应用,django,这些,因为会启动多条进程来监听http请求,这样的会通过单例模式是实现不了数据共享的,也...
        阅读全文
                
摘要:外观模式跟代理模式有点像,都是在client和目标的类之间建一个中间的类,client不直接调用目标的类,而是通过先调用中间类的方法,由中间类来实现怎么调用目标类。代理模式用这种模式的目的是可以实现client和目标类不直接通信,使他们之间相互独立,这样就比较安全,因为client不知道目标类的存在...
        阅读全文
                
摘要:1.模版方法模式做题的列子:需求:有两个学生,要回答问题,写出自己的答案#encoding=utf-8__author__ = 'kevinlu1010@qq.com'class StudentA(): def answer1(self): print '题目一:XXXXXX' ...
        阅读全文
                
摘要:1.单一职责原则:每个类都只有一个职责,修改一个类的理由只有一个2.开放-封闭远程(OCP):开放是指可拓展性好,封闭是指一旦一个类写好了,就尽量不要修改里面的代码,通过拓展(继承,重写等)来使旧的类满足新的需求,而不是修改一个类里面的代码。3.依赖倒转原则:高层模块不应该依赖底层模块,两个都应该依...
        阅读全文
                
摘要:需求:有一个学雷锋活动,有买米和扫地两个内容,参与的人有大学生和社区志愿者,他们各自的方法不一样。如果用简单工厂模式实现:#encoding=utf-8__author__ = 'kevinlu1010@qq.com'class LeiFeng(): def buy_rice(self): ...
        阅读全文
                
摘要:书中的例子是:男A喜欢女A,但是不敢向其表白,所以委托男B为代理,代他送礼物给女A,实现这个需求的重点是,男A和女A是不互相直接接触的,都是通过代理男B,实现间接接触。#encoding=utf-8__author__ = 'kevinlu1010@qq.com'from abc import AB...
        阅读全文
                
摘要:假如我们需要开发一个程序来展示一个人穿衣服的过程。#encoding=utf-8__author__ = 'kevinlu1010@qq.com'class Person(): def __init__(self,name): print '%s开始穿衣'%name def...
        阅读全文
                

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号