Unity 游戏框架搭建 2019 (五十) 消息机制小结

我们花了 5 篇文章学习了消息机制的方方面面。并且完成了一个简易消息机制,之后集成到了我们的 MonoBehaviourSimplify 里。

现在 MonoBehaviourSimplify 有一点框架的感觉了。因为 MonoBehaviourSimplify 在提供消息功能的同时,决定了项目脚本中的交互方式。而目前的这套结构,足够用它来完成一个比较小的项目了。

消息机制是笔者在接触单例之后,第二次被震撼到的设计模式(观察者模式/发布者订阅者模式)。而笔者在初学的时候,还不太敢去设计 MonoBehaviourSimplify 这样的基类,因为当时总觉得自己对 MonoBehaviour 生命周期理解得不够透彻。但是,笔者在使用消息机制的时候遇到了很多问题,比如之前提到的,总是忘记注销消息,从而导致游戏闪退等各种奇怪的 bug,随着 bug 遇到得多了,就越来越意识到自动注销消息的重要性,而自动注销消息最好的方式就是通过继承基类的方式。所以就冒着风险被迫着就去写了这么一个类,这个类以前的名字叫做 QNode 也就是我们今天 MonoBehaviourSimplify 的前身,直到现在为止,QFramework 的核心还是通过 QNode 演变过来的类,现在叫做 QMonoBehaviour。

而在当时通过设计这么一个基类之后,笔者就对设计父类这种形式有了很大的信心,所以就只要能加到 MonoBehaviourSipmlify 的东西就全部加进去了,一直这样下去,理论上这样也不会发生问题,但是后来又找到了更好的方式,学习了更好的方式之后呢,就可以分辨出来哪个适合继承,哪个适合用方法独立实现,而哪个适合做成更复杂的系统。不过目前的这套结构,如果各位学到这里也没有太大的问题,已经可以拿去做项目了。

但是如果想做出更好的库和框架,那就最好认真看完这个专栏的文章。因为这是笔者三年框架思考的浓缩版。

而到目前为止,我们可以画出来一个框架的结构图了。
如下所示:
006tNc79gy1fzft76krotj30w20ey3zt.jpg

虽然东西不多,但是至少目前的我们的库可以叫做框架了。

到这里呢,我们还没有去讲框架、架构、库这些东西,现在正是讲这些概念的最好时机,所以从下一篇开始,我们会慢慢接触这些概念。

今天的内容就这些,我们下一篇再见,拜拜~ 。

转载请注明地址:凉鞋的笔记:liangxiegame.com

更多内容

  • QFramework 地址:https://github.com/liangxiegame/QFramework

  • QQ 交流群:623597263

  • Unity 进阶小班

    • 主要训练内容:
      • 框架搭建训练(第一年)
      • 跟着案例学 Shader(第一年)
      • 副业的孵化(第二年、第三年)
    • 权益、授课形式等具体详情请查看《小班产品手册》:https://liangxiegame.com/master/intro
  • 关注公众号:liangxiegame 获取第一时间更新通知及更多的免费内容。

猜你喜欢

转载自blog.csdn.net/u010125551/article/details/106424340