程序员思维-带你解读嫦娥奔月

众所周知嫦娥奔月是后羿与嫦娥的故事。故事中几个关键事件是:

  • 后羿射日--单例模式
  • 偷吃仙丹--单一职责、安全
  • 吃月饼--消息的传递
  • 月饼制作--代理

后羿射日

太阳照射大地,给大地以温暖,光明。本来是很正常运行舒适的,但是出了问题(bug),多出了八个太阳,这八个太阳怎么来的呢,我给你娓娓道来。本来这个系统生产了一个太阳,每天照射大地几个时辰,然后关掉一段时间,然后继续,这样循环往复,很正常的。

有一天,系统有个程序员动了一段代码,然后就不是每天就多出了一个太阳,

第一天,多了一个太阳照射,暖和了好多;

第二天,又多了一个太阳,天地亮了很多;

.....

第七天,大地太热,收不住了,想停掉太阳; 

想怎么停掉太阳,想了一天

第八天,又多了一个太阳

这时候后羿作为这个系统的掌控者发现是由于程序员修改了一行代码,改这个太阳的创建模式,他不是单例了,导致每次循环的时候,都新建了一个,所以太阳无限增多,于是乎后羿先手动删除了这个多余太阳,然后重新修复了系统,也就成为了系统的拥有者。

嫦娥作为程序员鼓励师也就就位了。

偷吃仙丹

        后羿掌握了系统之后就弄了很多东西,其中就有很有价值的仙丹。仙丹由系统内各个专门的对象进行制作完成。制作完成后,就要交给后羿的。但是作为程序员鼓励师目睹了整个过程,就很好奇整个仙丹有什么用,然后他就很轻而易举地拿到了仙丹,就吞下去了飞升了。

后羿把制作仙丹的任务分配了各个专门的对象制作,制作方法得到了很好的保护,但是最后没有交到自己手上,是因为没有设置安全措施,这就使得仙丹交接过程中谁都可以使用,从而仙丹被嫦娥吞服,因为拥有系统之后没有去做很好的安全管理措施

吃月饼

        嫦娥不小心飞升之后在天上就很想念后羿,毕竟作为程序员鼓励师在一起日久生情了,于是他就做了后羿最喜爱吃的月饼来表达自己的相思,并把月饼扔了下来,希望后羿可以看到自己的消息然后了解相思之情,可以去天上找她。

        嫦娥发布了一个消息月饼,整个月饼就代表他的相思之情,然后只有后羿知道整个意思,其他人接收到了不知道意思,这就是消息的发布与订阅。来完成消息事件的传递。

月饼制作

        一段时间之后嫦娥没有等到后羿,她在想是不是自己制作的月饼太少了,没有传到后羿的信息库里,或者可能丢失了,于是嫦娥就把自己制作月饼的方法通过广播消息传递了出去。然后就有很多人去制作月饼,但是想法不一样,就制作了各种各样的月饼,不过是按照嫦娥的方法做的,所以还是叫月饼。

        这个就是代理,嫦娥把自己的做月饼形成一个抽象的方法,其他人就可以根据自己的想法去实现,这就是代理的抽象和实现。

作为一名程序员,我觉得生活中各种事物,如果可以以程序语言描述之,然后所形成的方法就是最好的程序设计。然后以这种设计应用于系统那么它将是接近完美的程序设计。

猜你喜欢

转载自blog.csdn.net/qq_23997827/article/details/126591704