花5分钟,菜鸟也能学一个设计模式|简单工厂

编程一开始都是从最近基本的表达式,慢慢的到函数,再到类,最后模块,也就是说的点,线,面和体。这样的思路写大几百行,上千行的代码没有问题,但是如果要写几千,几万行的大的项目肯定是不行,必须要用设计模式,看似高深,但是细细分析还是很有道理。


公司一般都是有咖啡机的,比如可以选择拿铁,摩卡,奶茶等等,我们只需要选择对应的模式即可,比如代码:

花5分钟,菜鸟也能学一个设计模式|简单工厂


接着我们用写一个咖啡机,根据选择的类型生产不同的饮料。

花5分钟,菜鸟也能学一个设计模式|简单工厂

上面的代码非常典型的构造一个咖啡机,根据不通的选择口味来new出饮料的对象,我们来写代码测一下看看:

花5分钟,菜鸟也能学一个设计模式|简单工厂

>>这是拿铁咖啡

>>这是奶茶


Pythonic做法


上面这样的做法是比较传统的简单工厂模式,比较Pythonic的做法是下面这样:

花5分钟,菜鸟也能学一个设计模式|简单工厂

通过在CoffeeFactory里面构造一个事先写好的字典mapping,就是咖啡的类型,通过字典这样的结构可以省掉传统的if/else这样的冗余的做法。


然后通一个类方法来快速的返回需要生产的咖啡对象,结构清晰简单。

花5分钟,菜鸟也能学一个设计模式|简单工厂


怎么样,这个设计模式还是很简单的把,工厂模式应该算是设计模型里面最简单了,学好设计模式真的很重要,如果要推荐一个笨办法学设计模式,建议动手抄一遍,然后再重新自己再写一边即可


获取干货源码,阅读更多有趣的案例,也可以直接去微信公众号【菜鸟学Python】获取。
菜鸟学Python » 花5分钟,菜鸟也能学一个设计模式|简单工厂