什么是桥接模式
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。
这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。
这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。
比如家里有个遥控器,可以安装5号和7号电池,假如5号电池没电了,下次遥控器开启时就直接使用7号电池了,不至于让遥控器不能使用,这个选择的过程可以称之为适配过程,这就是适配器
什么是代理?
代理简单点说就是当你想做一件事情,但是你当前因为某些原因做不了,而委托其他人去做,但是在其他人看来,这件事还是你做的,这就叫代理。
在设计模式中,经常为了把原始对象的实现信息隐藏的情况,这种情况下就需要使用代理模式
本文主要介绍23种设计模式之一的建造者模式,首先讲什么是建造者,为什么要叫建造者模式,理解了建造者模式的概念后,然后介绍什么场景下使用建造者模式,然后给出建造者模式的c++实现,最后介绍建造者模式和工厂模式之间的区别
汉语词典是这样解释的:
建造:即将许多材料依设计规格,逐步施工,而成为建筑物或结构物的过程或方式。
建造是一个过程,一种方法,对不同材料进行加工生产的行为,操作对象是材料;核心是方法,对象是材料。
而建造者,就是将很多材料用某些方式逐步施工最后制造了建筑物或结构体的人;核心是人。
建造者模式就是利用建造的概念,将不同的材料通过某种方法建造一个复杂对象的的计算机模型,原理与建造过程一致,所以叫建造者模式。
场景:有一个农场,种了很多水果树,能产出很多种水果:苹果、橘子、香蕉等,每种水果有不同的价格和其他属性等;有一个供应商从这个农场中进口水果,跟供应商做买卖时,需要根据水果名,给到供应商关于这个水果的所有信息。
这个场景下,每个水果都有一个自己的产品介绍,当供应商指定水果时,只需要把这个水果介绍给他就行,最简单的实现就是通过switch-case或者if-else,也就是 简单工厂模式
提示
设计模式一般分为23种,当前系列的语言全部采用c++实现
问题:写一个单例模式?
当看到这个问题时,是否有一种这问题怎么这么简单的想法,立即提笔(摸上键盘)随手就写出来一个: