这是一篇以前的设计模式的文章,零零散散,最近的项目在重构一些代码,觉得设计模式还是很重要的,有兴趣的可以看看!设计模式的看起来招式很简单,但是设计非常精妙,需要反反复复的咀嚼才能掌握它的精髓!
程序员小马刚毕业来到上海闯荡,开始了魔都的生活,每个月只有可怜的一点工资,因为刚毕业,好不容易找到一份工作,月薪4500块。为省房租,所以住的比较远,每天要坐两个小时的地铁上下班!
小马是一个吃货,喜欢吃喜欢旅游的,下班后躺在床上,想着如果这次项目完成了:
-
如果能发5000块工资就可以约隔壁部门的大美女吃一顿大餐,
-
如果发了6000块就可以去买双球鞋,原来那双都破个洞了
-
如果发了7000块就可以去趟杭州玩几天,西湖美景美如画
想着想着,心里美滋滋的,干脆自己写一个程序提醒我多好啊!光说不练假把式,小马开始动手写Python代码...
01.
用简单的观察者模式
小马虽然是刚毕业的菜鸟码农,但是上学的时候还是很努力的,记得老师曾经教给他一些编写代码的思想,想想代码不能写的太烂啊,要方便扩展,这次干脆用老师教给我们的设计模式来做过!
观察者模式大部分都是一对多的关系,可以多个观察者对象同时监听某一个对象!这里我们有两个模式,吃货模式和旅游模式,而我们的工资就是监听对象,一旦工资发出来,我们根据工资的数目来判断,我们是去吃大餐,还是去旅游,听起来很简单吧,我上代码:
1).监听对象
工资就是我们设计的监听的类,里面几个函数,对工资进行设定的get和set方法
还有两个很重要的方法,一个是增加观察者,一个是通知(一旦满足某一些条件,就可以通过这个接口立刻通知)
2).两个观察者
首先抽象出一个观察者的父类,里面有一个update通知函数
接着写吃货模式,我们重写update函数,把吃大餐和买新鞋的逻辑放在里面
最后写旅游模式,也是要重写update函数,把旅游的逻辑放在里面,大于7000块就可以出去浪啦~~
02.
写个测试代码试一下
上面写了这么多,我们用代码来跑一下看看结果如何
初始化3个对象,工资对象salary,吃货对象eatObser和旅游对象travleObser
工资对象是被监听的,我们会增加两个观察者eatObser和travleObser
最后看一下8月份的工资,我们随机一组工资看一下:
Currently salary is: 5500
>>可以去约隔壁组的莉莉mm,吃顿大餐了,哈哈!
Currently salary is: 6000
>>原来的那双球鞋都破了,总有可以去买双新的了
Currently salary is: 6500
>>原来的那双球鞋都破了,总有可以去买双新的了
本篇文章来源于: 菜鸟学Python
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python多线程中的死锁和递归锁的使用01/14
- ♥ python3.6和3.4版本有什么区别?10/26
- ♥ 如何在python中设置断点08/23
- ♥ Python是如何引入turtle的09/02
- ♥ python中实现矩阵乘法的几种方法08/24
- ♥ geany如何配置python的语言版本?10/25
内容反馈