2018-08-22 【教程学习】腾讯课堂贪吃蛇框架案例学习

Getted:
1.写代码要搞清层级,模块间层级清晰,哪些是下层,哪些是上层,哪些是管理者;代理方法,事件,向上层向下层发送,名称风格要统一。

一.系统架构重构

第一章小结:

1.动态库在vs&unity中的使用;一般放在动态库中的代码都是不怎么允许别人修改的。这种框架的模块,比较适合。缺点:无法使用断点
2.module框架模块,暂时还没看出来它实际的用途。(为了解耦,模块之间通过事件进行信息传递)
UI框架模块,实现了unity原生UGUI的功能集成;定义了几种基本窗口,以及方便的对UI控件的事件添加/移除接口。看了这个东西,会发现有好多接口,跟FairyGUI提供的接口很类似。我觉得还是FairyGUI更好用,那相当于也是一个UI框架,并且提取出去了。

老师首先进行了模块的设计,分层,归类...

image.png

image.png

2019.1.12 此时我已找不到原来的视频了,这个是重构之前的设计思路
设计思路:
1.单向依赖
不同层级之间的模块,单项依赖
仅允许上层模块依赖下层模块


image.png

2.模块解耦(静态解耦)
业务层模块通过【事件】和【消息】的方式通讯


image.png

3.模块独立
服务层模块之间完全独立
如果两个模块仍然必须有公共逻辑,将其再次抽象,放入基础类库
image.png

4.代码重用
业务层公共逻辑——>服务层

服务层公共逻辑——>基础类库
视图层公共逻辑——>UI控件
5.设计模式


image.png

启动模块


image.png

模块框架重构

image.png

UI框架重构

image.png

image.png

二.通用网络模块

第二章小结:

这一系列框架及代码,都可以分为两种观点来看:
第一种是上层观点,就是只管怎样使用;第二种是底层实现,就是下面是怎样实现。

服务器
上层用法:

ServerDemo中
1.创建一个NetManager类,给定服务器所在端口号,添加要监听的“关键字”,并给这个监听一个回调。
2.回调函数,是来自Session的回调
3.接收和回复的格式(“关键字”):proto


image.png
底层细节:

具体工作可以分为三部分,NetManager,Gateway,KCPSession
其中NetManager作为上层,下层工作还是要交给Gateway和KCPSession。
1.Gateway开启了一个线程,通过Socket不断的从远端尝试获得数据,数据的第一个字节存放了发送者的ID,即KCPSession ID。如果是第一次发消息的用户,那么给它新建一个KCPSession,一一对应。
然后把数据存到这个KCPSession中的待处理队列中。(这是个交换队列)
2.Gateway的主线程,一直会隔一段时间Tick一次所有的KCPSession,让它们处理上述交换队列里的数据。(大概是为了减少多线程同时操作同一队列的事情,所以用交换队列)。通过KCP协议解析数据,回调数据内容给NetManager处理。

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

1.Protobuf使用

https://www.jianshu.com/p/d9be1b3d2446
https://blog.csdn.net/qq_36458268/article/details/81067280
我直接把它之前工程动态库copy过来。protobuf-net.dll

底层结构弄好之后,老师写了一个服务器demo:

image.png

7 ILRuntime 热更新

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,417评论 25 709
  • 最近的感悟,都是从动漫《夏目友人帐》里得来的。很治愈系的动漫,又萌又好看哈哈。好了,说正题。 今天早上感悟到的是,...
    玄月之佑阅读 502评论 2 3
  • gjj199494
    芮曦阅读 114评论 0 0
  • 我又一次“见”着她啦。她又是谁呢?她是一姑娘,是我一直藏在心里的姑娘,是陪伴我整个青春的姑娘。 跟姑娘...
    sina赤那思阅读 300评论 0 0

友情链接更多精彩内容