西安网站制作的公司,阳江网红桥定位,做网站前端用什么,合肥新格建站网一、桥接模式(Bridge): 
意图: 
将抽象部分与其实现部分分离,使它们都可以独立地变化。 
结构: 适用性: 
不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如,这种情况可能是…一、桥接模式(Bridge):
 
意图:
 
- 将抽象部分与其实现部分分离,使它们都可以独立地变化。
 
 
结构:
 

 
适用性:
 
- 不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如,这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。
 - 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这是 Bridge模式,使得开发者可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。
 - 对一个抽象的实现部分的修改应对客户不产生影响,即客户代码不必重新编译(C++) 想对客户完全隐藏抽象的实现部分。
 - 有许多类要生成的类层次结构。
 - 想在多个对象间共享实现 (可能使用引用计数),但同时要求客户并不知道这一点。
 
 
实际场景:
 
- 图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。
 
 

 
 
二、组合模式(Composite):
 
意图:(上午题)
 
- 将对象组合成树型结构,以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。
 
 
结构:(下午题)
 

 
适用性:
 
- 想表示对象的部分-整体层次结构。
 - 希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。
 
 
 
三、享元模式(Flyweight):
 
意图:(上午题)
 
- 运用共享技术有效地支持大量细粒度的对象,用于减少创建对象的数量,以降低内存占用,提高性能。
 
 
结构:
 

 
适用性:
 
- 一个应用程序使用了大量的对象。
 - 完全由于使用大量的对象,造成很大的存储开销。
 - 对象的大多数状态都可变为外部状态。
 - 如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象。应用程序不依赖于对象标识。由于 Flyweight 对象可以被共享,所以对于概念上明显有别的对象,标识测试将返回真值。