设计模式是软件开发中常用的工具,是由Gang of Four所提出的。设计模式是一些经过多年实践验证,具有普遍适用性的优秀解决方案的总结。它们被记录在设计模式书籍中,具有较高的可复用性、可扩展性和可维护性。
设计模式是分门别类的,不同的设计模式解决了不同的问题。在这篇文章中,我们将分析23种设计模式如何分类。
1.根据用途分类
设计模式可以根据其用途进行分类,一般来说可以分为三类,即:创建型模式、结构型模式和行为型模式。
-创建型模式:提供了一种在创建对象时处理对象的方法。创建型模式包括单例模式、工厂模式、抽象工厂模式、建造者模式和原型模式。
-结构型模式:解决了对象之间接口及合成关系的问题,如适配器模式、桥接模式、装饰器模式、门面模式、享元模式和代理模式。
-行为型模式:用于标准化对象之间通信的方式和对象职责的分配,如模板模式、策略模式、命令模式、职责链模式、状态模式、观察者模式、中介者模式和访问者模式。
2.根据作用范围分类
设计模式可以根据其作用范围进行分类,一般来说可以分为类模式和对象模式。
-类模式:采用继承机制来创建类之间的关系,用于处理类与子类之间的关系,在设计系统时考虑,这种模式是很常见的,如模板方法模式、工厂方法模式、抽象工厂模式和解释器模式。
-对象模式:使用对象关联关系代替继承关系。通过提供了一种管理关联关系的方法,使类和对象之间可以更加灵活地进行融合,如适配器模式、装饰器模式、代理模式和享元模式。
3.根据目的分类
设计模式也可以根据其目的进行分类,比较常见的分类方式包括以下三大类。
-创建型模式:创建对象的模式,将对象的创建和使用分离。如工厂方法模式、建造者模式和抽象工厂模式。
-结构型模式:建立对象或类之间结构关系的模式,如适配器模式、装饰器模式和代理模式。
-行为型模式:描述对象和类之间通信的模式。如命令模式、解释器模式和迭代器模式。
综上所述,设计模式可以从多个角度进行分类,包括按用途、按作用范围和按目的。不同的设计模式适用于不同的情况和需要,开发者需要根据具体情况灵活运用设计模式。
微信扫一扫,领取最新备考资料