设计模式的看法和认知,有哪些设计模式?
时间: 2023-11-15 16:01:28 浏览: 45
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式的好处在于可以重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式提供了一个标准的术语系统,且具体到特定的情景。合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案。根据参考书《Design Patterns - Elements of Reusable Object-Oriented Software》中所提到的,总共有23种设计模式,可以分为三大类:创建型模式、结构型模式和行为型模式。其中,创建型模式关注对象的创建过程,结构型模式关注对象的组合,行为型模式关注对象之间的通信和交互。常见的设计模式包括但不限于:
1.创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
2.结构型模式:适配器模式、桥接模式、装饰器模式、组合模式、外观模式、享元模式、代理模式。
3.行为型模式:责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式。
另外,还有一类设计模式是J2EE设计模式,主要用于解决企业级应用程序开发中的问题。常见的J2EE设计模式包括但不限于:MVC模式、业务代表模式、组合实体模式、数据访问对象模式、前端控制器模式、拦截过滤器模式等。
相关问题
何为设计模式?有哪些常见的设计模式
设计模式是在软件设计过程中广泛使用的一种解决问题的方案或思路。它们提供了一套经过验证的、可重复使用的设计理念,可以帮助开发人员解决特定的设计问题。
常见的设计模式包括:
1. 创建型模式:用于对象的创建和实例化,例如工厂模式、抽象工厂模式、单例模式等。
2. 结构型模式:用于定义如何组合类和对象以形成更大的结构,例如适配器模式、装饰器模式、代理模式等。
3. 行为型模式:用于对象之间的通信和交互,例如观察者模式、策略模式、迭代器模式等。
4. 面向对象设计原则:这不是一个具体的设计模式,而是一些指导原则,例如单一职责原则、开闭原则、里氏替换原则等。
以上只是一小部分常见的设计模式,每种设计模式都有其特定的应用场景和解决问题的方式。开发人员可以根据具体需求选择适合的设计模式来提高代码的可维护性和可扩展性。
命令模式和其他设计模式有哪些区别?
命令模式是一种行为型设计模式,其目的是将请求封装为一个对象,从而使不同的请求可以被不同的对象处理。它允许请求的发送者和接收者彼此独立,而不是直接相互作用。这种模式的关键在于把请求封装成一个命令对象,然后通过调用命令对象的execute()方法来进行处理。
与其他设计模式相比,命令模式的主要区别在于其关注点。例如,观察者模式关注的是对象之间的发布-订阅关系,而命令模式关注的是请求的处理。另外,命令模式还可以与其他模式结合使用,例如将它与状态模式结合使用,以便根据命令的不同状态来执行不同的操作。
总的来说,命令模式适用于需要解耦请求发送者和请求接收者的场景,同时还需要支持撤销和重做等操作。它可以使系统更加灵活,易于扩展和维护。