https://github.com/WittyKyrie/UnityUtil/blob/main/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/Object
代码仓库↑
【游戏开发设计模式】单例模式,要提防的设计模式!!_哔哩哔哩_bilibili
参考↑
组合模式:
继承会造成代码复用量多,且子类扩展困难的情况
通过不同的组件相互结合来实现不同的类
尽量避免在Update中使用GetComponent,否则性能代价过于昂贵
单例模式:
保证一个类只有一个实例,且具有全局访问点
对于那些需要记录到文件每一个修改状态的系统而言,只有一个实例是非常重要的特性
用静态来实现全局访问功能
单例模式的有点:单例模式只会在第一次请求时被创建,不会自主创建,内存的节约(不一定,有懒汉和饿汉模式
只存在一个对象进行作用,不用经历对象创建和销毁,节省性能
可以让你非常轻松的链接游戏各个模块,例如你的任何类都可以轻松调用文件系统
单例模式的缺点:
随着项目的增大,耦合度增大,维护困难
单例模式可能会让扩展变得困难
命令模式:
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作
观察者模式:
对象池模式:
预先定义一个包含可重用对象的池子,在初始化池子的时候就创建好对象并设置为非激活模式,
当需要创建物体时,将物体设置为激活模式,当需要销毁物体时设置为非激活模式
与传统的创建销毁模式相比,在cpu和内存消耗上会有极大的性能提升
对象池模式会直接分配一个完整的大的内存,而不会像不断创建销毁一样生成很多的内存碎片造成性能的浪费
工厂模式:
工厂模式是一种创建型设计模式,用于创建对象,将对象的创建过程封装在一个类中
工厂模式可以通过将客户端代码与实际创建对象的过程分离来提高代码的可维护性,可扩展性和可读性