Unity___设计模式总结

发布时间 2023-08-06 18:45:21作者: lxp_blog

模板模式

子类可以继承父类的方法

单例模式

饿汉式

游戏一开始就加载

private static T instance =new T();

懒汉式

策略模式

可以参考Sort()函数或者说回调函数
在使用sort()函数时,当系统无法自动排序时需要传递一个比较类或者比较函数给方法;

观察者模式(事件中心)

事件源(触发事件的对象),接收者(接受事件的对象),事件作为观察者

event关键字

加上关键字后只能在类内部触发

状态模式

动画中常用与状态机
游戏中有普通用户模式,VIP模式...

备忘录模式

存档,做一个类将数据存起来

class storage;
List<storage> list;

中介者模式

解决模块之间交互的问题
游戏制作过程中一般会有一个全局的管理类比如GameManager,它可以管理所有的模块,比如音乐播放,场景切换....

迭代器模式(较少)

遍历一个容器,比如写了一个二叉树,然后写一个树的迭代器,将树遍历出来

工厂模式

常用于背包,将一些类集合在一个方法里面

外观模式 (和工厂雷同)

装饰器模式

在原有基础上增加功能

组合模式

解决继承关系复杂的问题,通过添加组件的方式

  1. 编写组件类
  2. 实体添加组件

命令模式

将数据封装成一个命令类(逻辑单位)中,常用于网络通信
比如发送技能时,发送一个技能命令给服务器

MVC模式

菜鸟教程

Controller(Module模块)

连接数据和视图,可以打开(请求服务器数据),关闭(销毁视图)

Model(Data数据)

只包含数据,初始化,一些数据操作,查找。。。。

View(视图)

既持有Controller也有Model,需要更新View,能够初始化(一般由Module进行)
持有Controller为了给服务器发消息,持有数据是为了显示