Unity 游戏框架搭建 2019 (四十四) 关于知识库的小结

2024-05-06 12:58

本文主要是介绍Unity 游戏框架搭建 2019 (四十四) 关于知识库的小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在上一篇,我们完成了一个定时功能,并且接触了 Action 和委托、lambda 表达式这些概念。

到目前为止,我们的库作为知识收录这个功能来说,已经非常好用了,由于使用了 partial 关键字,所以重复的代码少了很多。而作为一个可复用的工具库来说,勉强能够应付。

通过 partial 关键字,理论上可以对已有了类,进行无限地增加示例。而我们的示例的类型呢,主要是写可独立使用的方法和 MenuItem 示例。什么叫独立使用的方法?到目前为止我们写的所有静态方法都是可以独立使用的,这些方法并不需要与其他方法或对象进行协作就可以发挥本身的价值。

什么样的方法不能独立使用呢?这种非常常见,比如资源的加载和卸载 Load/UnLoad, UI 的打开和关闭 ,事件的发送/接收/注册,这种方法都不能独立使用,而是需要和其他的方法配合使用。这种类型的方法往往都定义在一个类里,是需要进行更严格地设计的。不像我们目前写的这几个 partial 类中的方法,再增加一个方法很少要考虑之前在类中已实现的方法,我们只要保证逻辑不重复就可以了。

而在设计不可独立使用的方法呢,要保证逻辑不能重复的同时,要更多地考虑互相如何更好地协作,从方法结构、调用顺序、命名、访问权限、所在类这些都要进行严格地设计,才会得到一个合格的方法。

对开发者的要求会高很多。

我们在上一篇的定时功能,就有点这个苗头,我们的定时方法的权限是 public 类型的,由于实现需要用到 Coroutine 所以又定义了一个实现方法,用来实现 Coroutine 逻辑,而这个 Coroutine 逻辑不希望被子类和外部类访问到,所以访问权限就设置成了 private,这样才算是一个合格的方法。

而这个方法仅仅和合格而已,其实用笔者角度来看,问题非常多,比如要考虑 Coroutine 中断问题,也要考虑 MonoBehaviourSimplify 这个类的使用问题,这个类现在可以直接挂到 GameObject 上,而笔者不希望用户这样去使用 MonoBehaviourSimpleify,而是通过继承使用,要解决的话其实也很简单,使用抽象类就好了。但是这样一来,我们的上一篇文章的信息量就会很多,并且在上一篇我们是刚刚接触继承这个概念,如果一篇文章就把继承从入门到掌握再到精通都讲完,那大家吸收的效果就会差很多。所以我们还是慢慢来,罗马不是一天建成的。

总之,目前,对于读者来说,自己写一个示例或者收集笔者的示例,是没啥太大的问题了。毕竟我们已经实践了很多了。从笔者的角度来说,专栏的约定和规则已经稳定了。

从下一个示例开始呢,我们开始进行库的专项训练。

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

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

更多内容

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

  • QQ 交流群:623597263

  • Unity 进阶小班

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

这篇关于Unity 游戏框架搭建 2019 (四十四) 关于知识库的小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964415

相关文章

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

Go之errors.New和fmt.Errorf 的区别小结

《Go之errors.New和fmt.Errorf的区别小结》本文主要介绍了Go之errors.New和fmt.Errorf的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考... 目录error的基本用法1. 获取错误信息2. 在条件判断中使用基本区别1.函数签名2.使用场景详细对