本文目录导读:
在软件开发领域,设计模式是一种被广泛认可的解决问题的方法,它们是经过实践证明的解决方案,可以帮助开发人员在面临特定问题时,快速地找到合适的解决方案,设计模式可以分为三大类:创建型、结构型和行为型,本文将详细介绍这三大类设计模式,并通过实际案例来演示如何运用这些设计模式来提高编程技能。
创建型设计模式
1、单例模式(Singleton Pattern)
单例模式是一种创建型设计模式,它保证一个类只有一个实例,并提供一个全局访问点,这种模式通常用于那些需要频繁创建和销毁的对象,例如数据库连接、线程池等。
public class Singleton { private static Singleton instance; private Singleton() {} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
2、工厂方法模式(Factory Method Pattern)
工厂方法模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,在工厂方法模式中,我们在创建对象时不会对客户端暴露创建逻辑,而是通过使用一个共同的接口来指向新创建的对象。
interface Shape { void draw(); } class Circle implements Shape { @Override public void draw() { System.out.println("画一个圆"); } } class Square implements Shape { @Override public void draw() { System.out.println("画一个正方形"); } } abstract class ShapeFactory { public abstract Shape getShape(String shapeType); } class CircleFactory extends ShapeFactory { @Override public Shape getShape(String shapeType) { if (shapeType == null) { return null; } else if (shapeType.equalsIgnoreCase("CIRCLE")) { return new Circle(); } return null; } }
结构型设计模式
1、适配器模式(Adapter Pattern)
适配器模式是一种结构型设计模式,它将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。
interface Target { void request(); } class Request implements Target { @Override public void request() { System.out.println("Target: Request"); } } class Adaptee implements Target { @Override public void specificRequest() { System.out.println("Adaptee: Specific Request"); } } class Adapter implements Target { private Request request; private Target adaptee; public Adapter(Request request, Target adaptee) { this.request = request; this.adaptee = adaptee; } @Override public void request() { adaptee.specificRequest(); } }
行为型设计模式
1、观察者模式(Observer Pattern)
// ...(此处省略代码)