常见的设计模式汇总!老男孩Python培训
老男孩IT教育
行业新闻
2021年8月26日 17:42
不论学习、使用哪种编程语言,都离不开设计模式的学习,编程语言分为面向对象和面向过程两种,现如今大多数都是面向对象的,Python也不例外,设计模式虽然不是必学的,但掌握之后可以大幅度提高我们代码的运行效率,也能使代码看起来更简洁工整,请看下文:
不论学习、使用哪种编程语言,都离不开设计模式的学习,编程语言分为面向对象和面向过程两种,现如今大多数都是面向对象的,Python也不例外,设计模式虽然不是必学的,但掌握之后可以大幅度提高我们代码的运行效率,也能使代码看起来更简洁工整,请看下文:
单例模式:简单概括一下,就是在一个应用程序中,某个类的实例对象只有一个,也就是仅能new一次,因为构造器是被private修饰的,一般通过getInstance()方法来获取它们的实例。
getInstance()返回值是一个对象的引用,并不是一个新的实例,所以不能错误地理解成多个对象。
观察者模式:对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。举个栗子:假设有三个人,小丽,小张和小王。小丽很漂亮,小王和小张是两个程序猿,时刻关注着小丽的一举一动。
有一天,小丽说了一句:“谁来陪我打游戏啊。”这句话被小张和小王听到了,结果乐坏了,蹭蹭蹭,没一会儿,小王就冲到小丽家门口了,在这里,小丽是被观察者,小张和小王是观察者,被观察者发出一条信息,然后观察者们进行相应的处理。
装饰者模式:对已有的业务逻辑进一步的封装,使其增加额外的功能,如Java中的IO流就使用了装饰者模式,用户在使用的时候,可以任意组装,达到自己想要的效果。例如,想要吃三明治,首先需要一根大大的香肠,还有在香肠上加一点奶油,再放一些生菜,最后用两片面包夹一下。
适配器模式:将两种完全不同的事物联系到一起,就像生活中的变压器。举个例子:假设有一个手机充电器需要的电压是20V,但是正常的电压是220V,这时候就需要一个变压器,将220V的电压转换成20V的电压,这样,变压器就将20V的电压和手机联系起来了。
工厂模式:简单工厂模式:一个抽象的接口,多个抽象接口的实现类,一个工厂类,用来实例化抽象的接口。
有四种角色:抽象工厂模式,具体工厂模式,抽象产品模式,具体产品模式。
不再由一个工厂类去实例化具体的产品,而是由抽象工厂的子类去实例化产品。抽象工厂模式:与工厂方法模式不同的是,工厂方法模式中的工厂只生产单一的产品,而抽象工厂模式中的工厂生产多个产品。
代理模式:分为两种,静态代理和动态代理,首先将静态代理。举例说明:我们每个人到了一定的年龄就要结婚,结婚是一件很麻烦的事情(包括那些被父母催婚的)。有钱的家庭可能会找司仪来主持婚礼,显得热闹,洋气。
现在婚庆公司的生意来了,我们只需要给钱,婚庆公司就会帮我们安排一整套结婚的流程。整个流程大概是这样的:家里人催婚->男女双方家庭商定结婚的黄道即日->找一家靠谱的婚庆公司->在约定的时间举行结婚仪式->结婚完毕。
婚庆公司打算怎么安排婚礼的节目,在婚礼完毕以后婚庆公司会做什么,我们一概不知。别担心,这不是黑中介,我们只要把钱给人家,人家会把事情给我们做好。所以这里的婚庆公司相当于代理角色,现在明白什么是代理角色了吧。
关于“常见的设计模式汇总”就讲到这啦!如果你还想要了解更多关于Python技术的知识,老男孩教育欢迎你~我们一直秉承保证教学质量才是硬道理的发展观,坚持做正确的事,用心帮助每一位学员通过在老男孩努力学习获得体面的工作和生活。
推荐阅读:
