Skip to main content

常用模式

单例观察者是Unity中最常用的模式。

工厂模式适合动态资源加载,状态模式适合复杂行为管理。

架构模式(如MVVM)在复杂UI项目中优势明显。

img

img

创建型模式:对象创建机制

单例模式 (Singleton)

  • 核心:全局唯一实例,提供统一访问点
  • Unity应用:管理器类(GameManager、AudioManager)

说明:通过静态实例跨场景共享,配合 DontDestroyOnLoad 实现

img

工厂模式 (Factory)

  • 核心:封装对象创建逻辑

  • 类型

  • 简单工厂:单方法创建多种对象(如敌人生成)

  • 工厂方法:子类决定实例化类型(如武器系统)

说明:通过 Instantiate 动态生成预制体,隔离创建逻辑

img

原型模式

快速复制预制件(如Clone()方法)

结构型模式:对象组合方式

适配器模式 (Adapter)

  • 核心:转换接口使不兼容类协作
  • Unity应用:第三方SDK接入、旧系统改造

说明:封装原生插件调用,统一接口规范

img

装饰器模式 (Decorator)

  • 核心:动态添加功能(非继承)
  • Unity应用:角色技能叠加、装备特效

说明:通过组件嵌套实现功能扩展

img

享元模式

共享资源(如重复使用的纹理/网格)

行为型模式:对象交互策略

观察者模式 (Observer)

  • 核心:事件驱动解耦
  • Unity应用:UI响应、成就系统

说明:基于 UnityEvent Action 实现发布-订阅

img

状态模式 (State)

  • 核心:状态机管理行为切换
  • Unity应用:角色动画、AI行为

说明:与Animator Controller天然契合,状态独立封装

img

命令模式 (Command)

  • 核心:封装操作为对象
  • Unity应用:操作回放、输入控制

说明:实现 Undo/Redo 功能的基础

img

策略模式

动态切换AI行为(如巡逻/追击策略)

原则间的协同

通过 高内聚(SRP/OCP)低耦合(DIP/ISP/LoD) 构建可维护的Unity架构。

Unity最佳实践

  • ScriptableObject 实现数据抽象(OCP)
  • 事件系统 代替直接对象引用(LoD)
  • 组件化设计 天然契合合成复用原则(CRP)

img