首页 > 其他分享 >Unity___设计模式总结

Unity___设计模式总结

时间:2023-08-06 18:57:47浏览次数:52  
标签:函数 Controller 视图 Unity 模式 ___ 设计模式 数据 事件

模板模式

子类可以继承父类的方法

单例模式

饿汉式

游戏一开始就加载

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为了给服务器发消息,持有数据是为了显示

标签:函数,Controller,视图,Unity,模式,___,设计模式,数据,事件
From: https://www.cnblogs.com/lxp-blog/p/17609577.html

相关文章

  • 算法 华为
     1、链表,两两交换位置,不允许修改值,只能改节点例如1234,=>21432、拔河比赛选拔队员,输入身高,体重。按这两个优先级排序例如输入1827019060输出1906019060 3、最小花费问题(这个分值200,比前面的难)输入产品数量n,需要输出k种方案n个产品对应的价格数组输出:前k小......
  • 001、认识C语言,第一次编码
    001、认识C语言,第一次编码​ C语言常用于底层开发(应用层之下【操作系统、驱动】)写C语言代码的步骤:创建一个项目;创建一个源文件(xxx.c)【头文件:xxx.h】;写代码;编译代码(ctrl+F7);运行代码(ctrl+F5【不调试】、F5【调试】)主函数(一个工程中只能有一个主函数):/***写C语言的第一步......
  • vim 文件树插件 nerdtree
    安装"在.vimrc中加入Plug'scrooloose/nerdtree'"nerdtree插件Plug'ryanoasis/vim-devicons'"nerdtree的文件图标----推荐下载配置letg:NERDTreeDirArrowExpandable='ʃ'"展开目录图标letg:NERDTreeDirArrowCollapsibl......
  • 2023.8.6
    日常做题1.P4198楼房重建非常离谱的线段树题,反正我当时看了标签是想不出来怎么线段树的。题意就是求斜率单调上升的序列长度(以下简称该序列为答案序列)。好,我们尽力地去想一下线段树怎么做。同样记左区间、右区间节点为\(p1,p2\),我们考虑维护区间的答案长度,记为\(len\)。......
  • 数仓 Hive HA 介绍与实战操作
    目录一、概述二、HiveMetaStoreHA介绍与配置三、HiveHiveServer2HA介绍与配置四、环境部署五、测试验证1)hivemetastore测试验证2)hivehiveserver2测试验证一、概述在数据仓库中,HiveHA(HighAvailability)是指为ApacheHive这个数据仓库查询和分析工具提供高可用性的......
  • P7763 [COCI2016-2017#5] Ronald
    #include<bits/stdc++.h>usingnamespacestd;intn,m,g[1005][1005],fl,vis[1005],col[1005];voiddfs(intu){// cout<<"uuu"<<u<<""<<col[u]<<endl;for(intv=1;v<=n;v++){......
  • 2023/08/06
    洛希极限(Rochelimit)是一个天体自身的引力与第二个天体造成的潮汐力相等时的距离。当两个天体的距离少于洛希极限,天体就会倾向碎散,继而成为第二个天体的环。它以首位计算这个极限的人爱德华·洛希命名。(摘自百度百科)大天体密度与小天体的密度的比值开3次方后,再乘以大天体的半......
  • 龙邱512正交编码器
    基本概念龙邱的512线正交编码器,工作电压在3.3v-5v。我们只需要关注该款编码器的LSB及DIR引脚。LSP:该引脚在编码器转动时,会输出步进脉冲,在不同的转速下,步进脉冲的数量是不同的。所以我们可以设置一个定时器,把定时器的时钟输入通道改为外部引脚输入,这样我们就可以把单片机时钟......
  • 1.创建一个类,类A中定义了一个方法,该方法能接受3个参数根据参数判断是做加法还是减法并
    classA:defcal(self,x,y,z):ifz=='+':returnx+yifz=='-':returnx-yelse:print('error')a=A()b=a.cal(3,4,'+')print(b)运行结果: 2.延伸:创建一个类,类B......
  • 性能提升-空间二叉查找树
    性能提升-空间二叉查找树[email protected]. OpenCASCADEprovidesNCollection_UBTreetoachievehighperformancesearchoverlappedboxes.Thealgorithmofunbalancedbinarytreeofoverlappedboundingboxes.Oncethetreeofboxes ofgeometricobjects......