用全局变量耦合各个模块,还是能解决很多循环引用问题的。
其实我的想法和你差不多,只是区别在 是写进类似 cc 这种模块内还是写在哪里,这个看个人喜好啦
getInstance 这种我也不喜欢,可能多人协作■■维护和作为给他人使用的模块 用这些设计模式做解耦是对的,但对个人来说便捷直观会更好些,也不大可能把自己游戏里的某个模块单独拆出来给其他人用,专门花精力去解耦和做模块设计反而把问题变得麻烦.我想这大概是为什么 typescript 明明有明确的模块化定义和规范却还是有些人会选择要写全局或者做全局的框架吧?
import type { MathUtils } from ‘./MathUtils’;这样做好像可以