跳转至
用户认证 - eMac Tech Docs

用户认证

重要提醒

为了您的权益以及学习体验,请不要外借账号!

如果您没有账号或忘记密码,请联系管理员重置密码。

请输入您的登录信息

设计模式概述

classDiagram
    class 设计模式 {
        class 创建型 {
            [工厂模式]
            [单例模式]
        }
        class 结构型 {
            [适配器模式]
            [装饰器模式]
        }
        class 行为型 {
            [观察者模式]
            [策略模式]
        }
    }

作用

对软件设计中普遍存在的各种问题所提出的解决方案

本质

对软件设计中普遍存在的各种问题所提出的解决方案

设计原则

原则 说明 英文
单一职责 一个类只负责一项职责 SRP
开闭原则 对扩展开放,对修改关闭 OCP
里氏替换 子类可以扩展父类功能但不能改变 LSP
接口隔离 使用多个专用接口比单一接口好 ISP
依赖倒置 依赖抽象而不依赖具体实现 DIP

示例

// 单例模式示例
public class Singleton {
    private static Singleton instance;

    private Singleton() {}

    public static synchronized Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

// 工厂模式示例
interface Shape {
    void draw();
}

class Circle implements Shape {
    public void draw() {
        System.out.println("画圆形");
    }
}

class ShapeFactory {
    public Shape getShape(String type) {
        if ("circle".equals(type)) {
            return new Circle();
        }
        return null;
    }
}

注意事项

  • 不要过度设计,简单优于复杂
  • 模式是指导而非约束
  • 结合具体业务场景选择模式
  • Java中常用的模式:
  • 单例(Singleton)
  • 工厂(Factory)
  • 观察者(Observer)
  • 装饰器(Decorator)