29 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: Structural patterns
							 | 
						|||
| 
								 | 
							
								localeTitle: 结构模式
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								## 结构模式
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								结构设计模式是通过识别实现实体之间关系的简单方法来简化设计的设计模式,并负责在不同类之间构建简单有效的类层次结构。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								结构模式的示例包括:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								1.  **适配器模式** :将一个类的接口“调整”为客户期望的接口。
							 | 
						|||
| 
								 | 
							
								2.  **适配器管道** :使用多个适配器进行调试。
							 | 
						|||
| 
								 | 
							
								3.  **Retrofit Interface Pattern** :一个适配器,可以同时用作多个类的新接口。
							 | 
						|||
| 
								 | 
							
								4.  **聚合模式** :Composite模式的一个版本,带有聚合子项的方法。
							 | 
						|||
| 
								 | 
							
								5.  **桥接模式** :将抽象与其实现分离,以便两者可以独立变化。
							 | 
						|||
| 
								 | 
							
								6.  **墓碑** :中间“查找”对象包含对象的真实位置。
							 | 
						|||
| 
								 | 
							
								7.  **复合模式** :对象的树结构,其中每个对象具有相同的接口。
							 | 
						|||
| 
								 | 
							
								8.  **装饰器模式** :在运行时向类添加附加功能,其中子类化将导致新类的指数上升。
							 | 
						|||
| 
								 | 
							
								9.  **可扩展性模式** :aka Framework - 隐藏简单接口背后的复杂代码。
							 | 
						|||
| 
								 | 
							
								10.  **Facade模式** :创建现有界面的简化界面,以方便常见任务的使用。
							 | 
						|||
| 
								 | 
							
								11.  **Flyweight模式** :大量对象共享一个公共属性对象以节省空间。
							 | 
						|||
| 
								 | 
							
								12.  **标记模式** :将元数据与类关联的空接口。
							 | 
						|||
| 
								 | 
							
								13.  **管道和过滤器** :一系列进程,其中每个进程的输出是下一个进程的输入。
							 | 
						|||
| 
								 | 
							
								14.  **不透明指针** :指向未声明或私有类型的指针,用于隐藏实现细节。
							 | 
						|||
| 
								 | 
							
								15.  **代理模式**一个类作为另一个东西的接口。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### 来源
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								[https://en.wikipedia.org/wiki/Structural\_pattern](https://en.wikipedia.org/wiki/Structural_pattern)
							 |