查看原文
其他

用Python来描述一个在魔都生活的码农的故事

Leoxin 菜鸟学Python 2022-09-22

程序员小马刚毕业来到上海闯荡,开始了魔都的生活,每个月只有可怜的一点工资,因为刚毕业,好不容易找到一份工作,月薪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代码说话,留言讨论~~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存