当前位置:首页 > Java > 正文

掌握Java设计模式(从零开始轻松入门)

在软件开发中,Java设计模式是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式可以提高代码的可重用性、可读性和可靠性。本教程将带你从零开始,轻松理解并掌握常见的 Java 设计模式,即使是编程小白也能看懂!

什么是设计模式?

设计模式(Design Pattern)并不是具体的代码,而是一种解决特定问题的模板思路。它源于建筑学,后被引入到软件工程中。在 面向对象编程 中,设计模式帮助我们写出更灵活、更易维护的代码。

掌握Java设计模式(从零开始轻松入门) Java设计模式 面向对象编程 单例模式 工厂模式 第1张

为什么学习设计模式?

  • 提升代码结构清晰度
  • 增强团队协作效率(大家都懂“通用语言”)
  • 减少重复造轮子
  • 更容易应对需求变更

常见设计模式分类

设计模式通常分为三大类:

  1. 创建型模式:关注对象的创建过程(如:单例模式、工厂模式)
  2. 结构型模式:处理类或对象的组合(如:适配器模式、装饰器模式)
  3. 行为型模式:描述类或对象之间的通信(如:观察者模式、策略模式)

实战一:单例模式(Singleton Pattern)

单例模式确保一个类只有一个实例,并提供一个全局访问点。这在需要控制资源(如数据库连接池)时非常有用。

// 单例模式 - 饿汉式(线程安全)public class Singleton {    // 在类加载时就创建实例    private static final Singleton INSTANCE = new Singleton();    // 私有构造函数,防止外部 new    private Singleton() {}    // 提供全局访问点    public static Singleton getInstance() {        return INSTANCE;    }    public void showMessage() {        System.out.println("Hello from Singleton!");    }}  

使用方式:

public class Main {    public static void main(String[] args) {        Singleton s1 = Singleton.getInstance();        Singleton s2 = Singleton.getInstance();                System.out.println(s1 == s2); // 输出 true,说明是同一个对象        s1.showMessage();    }}  

实战二:简单工厂模式(Simple Factory Pattern)

工厂模式属于创建型模式,它提供了一种创建对象的方式,而无需指定具体的类。通过工厂类,我们可以根据参数返回不同类型的对象。

// 定义一个接口interface Shape {    void draw();}// 实现类class Circle implements Shape {    public void draw() {        System.out.println("Drawing a Circle");    }}class Rectangle implements Shape {    public void draw() {        System.out.println("Drawing a Rectangle");    }}// 工厂类public class ShapeFactory {    public Shape getShape(String shapeType) {        if (shapeType == null) {            return null;        }        if (shapeType.equalsIgnoreCase("CIRCLE")) {            return new Circle();        } else if (shapeType.equalsIgnoreCase("RECTANGLE")) {            return new Rectangle();        }        return null;    }}  

使用方式:

public class Main {    public static void main(String[] args) {        ShapeFactory factory = new ShapeFactory();                Shape circle = factory.getShape("CIRCLE");        circle.draw(); // 输出:Drawing a Circle                Shape rect = factory.getShape("RECTANGLE");        rect.draw(); // 输出:Drawing a Rectangle    }}  

小结

通过本教程,你已经了解了 Java设计模式 的基本概念,并亲手实践了两种最常用的模式:单例模式工厂模式。这些模式是 面向对象编程 中的重要工具,能让你的代码更加优雅和健壮。

记住:不要为了用设计模式而用设计模式。只有在真正需要解决特定问题时,才考虑使用合适的设计模式。

继续学习其他模式(如观察者模式、策略模式等),你将成为一名更专业的 Java 开发者!