分类:
根据其目的(模式是用来做什么的)可分为创建型,结构型和行为型三种。
- 创建型主要用于创建对象。
- 结构型主要用于处理对象或类的组合。
- 行为型主要用于描述对象或类怎样交互和怎样分配职责。
创建型模式如下:5个
建造者模式、工厂模式、抽象工厂模式、单例模式、原型模式
结构型模式如下:7个
组合模式、适配器模式、装饰模式、外观模式、桥接模式、代理模式、享元模式
行为型模式如下:11个
观察者模式、状态模式、责任链模式、访问者模式、命令模式、模版模式、策略模式、迭代器模式、解释器模式、中介者模式、备忘录模式
下面列举linux内核哪些地方用到了以上模式
创建型
Object Pool
Object Pool模式可以提升性能,尤其是在对象的分配、初始化成本高,使用频率高
但使用时间短的情况下。对象池可以设置对象池的大小和回收时间缓存预分配的对象。
NT和Linux都有简单的预分配缓存对象的机制,也就是Lookaside Cache机制。NT的
对象管理器使用延迟删除和垃圾回收机制实现真正意义上的对象池。在调用NtClose
关闭对象之后,对象使用的内存空间并不马上回收,而是挂在已删除对象列表之中,
并且被设置为删除。在新生成对象时&#x