常用设计模式有多少种
设计模式在软件工程领域中被广泛应用,它是一种反映了软件设计经验的总结,是解决常见问题的最佳实践。常用设计模式有多少种,这个问题可以从不同的角度来分析。
从目的上看,设计模式可以分为三种:创建型模式、结构型模式和行为型模式。
创建型模式主要用于对象的创建,这些模式会尽可能降低对象的创建成本,并确保系统按照正确的方式创建对象。
结构型模式更多地关注如何组合类或对象以形成更复杂的结构。
行为型模式关注对象之间的通信方式,以及控制对象之间的通信方式的方法。
依据这种分类方式,常见的设计模式有23种。
1. 工厂方法模式(Factory Method Pattern)
2. 抽象工厂模式(Abstract Factory Pattern)
3. 单例模式(Singleton Pattern)
4. 建造者模式(Builder Pattern)
5. 原型模式(Prototype Pattern)
6. 适配器模式(Adapter Pattern)
7. 装饰器模式(Decorator Pattern)
8. 代理模式(Proxy Pattern)
9. 外观模式(Facade Pattern)
10. 桥接模式(Bridge Pattern)
11. 组合模式(Composite Pattern)
12. 享元模式(Flyweight Pattern)
13. 策略模式(Strategy Pattern)
14. 模板方法模式(Template Method Pattern)
15. 观察者模式(Observer Pattern)
16. 迭代器模式(Iterator Pattern)
17. 职责链模式(Chain of Responsibility Pattern)
18. 命令模式(Command Pattern)
19. 备忘录模式(Memento Pattern)
20. 状态模式(State Pattern)
21. 解释器模式(Interpreter Pattern)
22. 访问者模式(Visitor Pattern)
23. 中介者模式(Mediator Pattern)
另一种常见的分类方式是将设计模式分为基本模式和创新模式。
基本模式指的是那些已经被广泛使用的、成为传统的经典模式,例如单例模式、观察者模式和策略模式。
创新模式则是指那些新兴的、未被广泛使用的设计模式,例如流接口模式、线程池模式等等。
从使用场景来看,常见的设计模式可以分为以下五类:
1. 对象创建型模式:选用不同的创建型模式可以提高对象的创建灵活性和可重用性。
2. 对象结构型模式:选用不同的结构型模式可以更好地组织对象间的关系,提高设计复杂度。
3. 对象行为型模式:选用不同的行为型模式可以更好地控制对象间的通信和流程,提高业务逻辑的复杂度。
4. J2EE模式:主要应用于大型企业级系统,使用J2EE模式可以更好地规范企业级开发过程。
5. 架构模式:主要应用于较大规模的系统,使用架构模式可以更好地管理系统,提高可扩展性和可维护性。
总而言之,设计模式是软件工程领域中的重要实践。通过重复的实践,不断改进和优化设计模式,可以提高软件工程的开发效率和代码的可读性。