结构型模式:
行为型模式:
02.代码案例介绍这么多模式,眼花缭乱,个个都是独孤九剑级别的精妙绝伦的剑法,我们挑选几种模式来看一下它的用法,吸收一波功力。1).工厂模式:
工厂模式是最简单的一种设计模式,但是在生产环境中其实还经常用到的,记得大学的时候第一个设计模式就是它,念念不忘,必有回想。来看一下源码:设计一个宠物的商店类PetShop,里面可以放猪啊,狗啊,猫啊,里面设计一个show_pet()函数来显示不同类别的宠物信息。我们初始化设计3个类一个狗,一个猫,还有一个随机的动物类。这个类就是很简单的只有两个函数一个speak,一个__str__就是打印类的信息。设计一个main函数运行看一下:
>>
We have a lovely Cat
It says meow
We have a lovely Dog
It says woof
====================
We have a lovely Dog
It says woof
====================
We have a lovely Cat
It says meow
====================
2).代理模式代理也是一种非常常见而且好理解的一种设计模式,好比码农A喜欢金融女B,但是不敢向其表白,所以委托张阿姨为代理,代他送礼物给女A,实现这个需求的重点是,男A和女A是不互相直接接触的,都是通过代理实现间接接触。我们来看一下这个设计模式的写法:先设计一个抽奖的基类Subject,然后子类一个是分别继承它,一个是RealSubject,一个是Proxy,这两个就是具体干事情的函数。client是模拟一个客户的需要,分发这个工作。看一下main函数的运行:
>>
Doing the job for admin is requested.
I am doing the job for admin
Doing the job for anonymous is requested.
I can do the job just for `others`.
I am doing the job for admin
I am doing the job for anonymous
限于篇幅,小编没有一一完全开展所有的设计模式的代码,有志于提高自己功力的同学可以去看一下这个repo,里面的用法和招式需要反复的理解和推敲,这个库的代码量都不大,很好理解。
设计模式需要领悟里面的思想,然后运用在实际的工作中。光看没有用的,看百边道千边,不如动手敲一边。后面还会写一些有趣的设计模式趣味案例。
学编程一定要动手!!内功心法除了设计模式,还有一重是啥,猜猜看,欢迎留言区点评。
repo:https://github.com/dabeaz-course/practical-python
近期八大热门:
发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片!盗墓热再起!我爬取了6万条《重启之极海听雷》的评论,发现了这些秘密用Python一键生成炫酷九宫格图片,火了朋友圈菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记Github获8300星!用Python开发的一个命令行的网易云音乐一道Python面试题,硬是没憋出来,最后憋出一身汗!卧槽!Pdf转Word用Python轻松搞定!教你6招,不错的Python代码技巧!
每个程序员都是从菜鸟开始成长起来的,没有人一开始就是程序员高手。菜鸟爱编程,专注于分享趣味的编程技巧,不限于Java, Python ,Go, Javascript等语言,让菜鸟爱上编程,进阶成为高手。
菜鸟编程大本营
长按2秒,获取Python必读书单
输入:【书单】
点这里,领取新手福利