|
Unity常用设计模式之代理模式
什么是代理模式
对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。
一个典型的设计案例了解代理模式
给大家上一个代理模式的典型的架构与设计。比如我们要开发一个视频播放器,视频播放器会涉及很多的视频格式的解码,如h264, mp4, h263等。这个时候我们就可以做一个代理,代理,代理提供视频播放器的解码视频数据的接口,用户只要调用代理这个接口,就可以将编好的视频数据,变成原始的视频数据。所以对于用户而言,都是基于代理的,不用管是mp4, h264编码。对于代理内部而言,它会根据类型,来具体使用对应的解码器,实际上是代理包含了具体的视频解码器对象来完成对应的解码,但是对外的用户不用管。如果有新的视频解码格式需要支持,那么只需要增加一个内部的对象来处理就可以了,不用动用户的接口。如图:
伪代码可以这样写
运行启动的时候:
… 如果扩展了新的视频格式,注册一个就可以了;
代理模式在游戏开发中的使用
这样服务器的数据通讯变化,部署变化,不同的项目,都不会影响到上层的业务逻辑,只要修改服务器代理的配置就可以了。这样做到了最大限度的灵活性,把变化的东西隔离开来。
本期的Unity游戏开发代理模式就讲解到这里,关注我,继续分享更多的设计模式 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|