经常使用的java设计模式及场景有哪几种
经常使用的Java设计模式及场景有以下几种:
1. 单例模式(Singleton Pattern):用于确保一个类只有一个实例,并提供一个全局访问点。
场景:当只需要一个对象来调和行动时,如数据库连接池、线程池等。
2. 工厂模式(Factory Pattern):用于创建对象,但不暴露创建逻辑给客户端,并通过公共接口援用新创建的对象。
场景:当需要根据情况创建区分类型的对象时,如数据库操作的工厂类。
3. 抽象工厂模式(Abstract Factory Pattern):提供一个创建相关对象的接口,而无需指定具体的类。
场景:当需要创建一组相关对象时,如创建区分操作系统下的UI组件。
4. 代理模式(Proxy Pattern):用于为其他对象提供一个代理以控制对这个对象的访问。
场景:当需要在访问一个对象之前做一些额外操作时,如权限控制、网络连接等。
5. 视察者模式(Observer Pattern):定义对象之间的一对多依赖关系,当一个对象状态变化时,其所有依赖对象都会收到通知并自动更新。
场景:当一个对象的改变需要通知其他对象,并且不需要知道通知的对象有哪几种时,如发布-定阅模式。
6. 装潢器模式(Decorator Pattern):动态地给一个对象添加额外的职责,同时不改变其结构。
场景:当需要在不修改原有对象的基础上,动态地扩大其功能时,如IO流的处理。
7. 策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,使它们可以互换。
场景:当需要在区分场景下使用区分的算法时,如排序算法、支付方式等。
8. 模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟到子类中实现。
场景:当多个类有相同的方法逻辑,但具体实现细节区分时,如模板方法的设计。
9. 命令模式(Command Pattern):将要求封装成对象,以便使用区分的要求、队列还是日志来参数化其他对象。
场景:当需要将要求与具体的履行操作解耦时,如菜单项的命令操作。
10. 状态模式(State Pattern):允许对象在内部状态改变时改变它的行动,对象看起来好像修改了它的类。
场景:当一个对象的行动取决于它的状态,并且需要根据状态进行区分的操作时,如定单的各种状态。
以上是经常使用的几种Java设计模式及相应的场景,设计模式的选择取决于具体的情况和需求。
TOP