31 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Behavioral patterns | |||
|  | localeTitle: 行为模式 | |||
|  | --- | |||
|  | ## 行为模式
 | |||
|  | 
 | |||
|  | 行为设计模式是识别对象之间的常见通信问题并实现这些模式的设计模式。通过这样做,这些模式增加了执行此通信的灵活性,使得软件更可靠且易于保持。 | |||
|  | 
 | |||
|  | 此类设计模式的示例包括: | |||
|  | 
 | |||
|  | 1.  **责任链模式** :通过包含逻辑的处理对象处理或传递命令对象到其他对象。 | |||
|  | 2.  **命令模式** :命令对象封装操作及其参数。 | |||
|  | 3.  **解释器模式** :实现专门的计算机语言,以快速解决一组特定的问题。 | |||
|  | 4.  **迭代器模式** :迭代器用于顺序访问聚合对象的元素,而不暴露其底层表示。 | |||
|  | 5.  **中介模式** :为子系统中的一组接口提供统一接口。 | |||
|  | 6.  **Memento模式** :提供将对象恢复到其先前状态(回滚)的功能。 | |||
|  | 7.  **空对象模式** :设计用作对象的默认值。 | |||
|  | 8.  **观察者模式** :又名P **ublish / Subscribe**或**Event Listener** 。对象注册以观察可能由另一个对象引发的事件。 | |||
|  | 9.  **弱参考模式** :将观察者与观察者分离。 | |||
|  | 10.  **协议栈** :通信由多个层处理,形成封装层次结构。 | |||
|  | 11.  **计划任务模式** :计划以特定间隔或时钟时间执行任务(用于实时计算)。 | |||
|  | 12.  **单服务访问者模式** :优化分配的访问者的实现,仅使用一次,然后删除。 | |||
|  | 13.  **规范模式** :布尔方式的可重组业务逻辑。 | |||
|  | 14.  **状态模式** :对象在运行时部分更改其类型的简洁方法。 | |||
|  | 15.  **策略模式** :可以动态选择算法。 | |||
|  | 16.  **模板方法模式** :描述程序的程序框架。 | |||
|  | 17.  **访问者模式** :一种将算法与对象分开的方法。 | |||
|  | 
 | |||
|  | ### 来源
 | |||
|  | 
 | |||
|  | [https://en.wikipedia.org/wiki/Behavioral\_pattern](https://en.wikipedia.org/wiki/Behavioral_pattern) |