Java-Singleton比静态更好?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java-Singleton比静态更好?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含910字,纯文字阅读大概需要2分钟。
内容图文
![Java-Singleton比静态更好?](/upload/InfoBanner/zyjiaocheng/674/7e22fde5cd604d669b43121063fed0f8.jpg)
所以我在游戏中有一个玩家课程.从逻辑上讲,只需要一个玩家对象(单个玩家),但是很多不同的类都需要访问该玩家对象. (即,地图需要知道玩家是谁,相机和敌人也需要与玩家互动,等等).
我有两个选择.
我可以将此播放器对象传递给需要它的所有东西,这很麻烦. (我认为是依赖注入)
只需将其设为公共静态即可.
使它成为单例.
每个优点/缺点是什么?
解决方法:
我不会在这里使用Singleton或静态变量,而是通过setter将Player实例传递给需要它的类.如果您只需要一个玩家实例-只需调用一次new Player():-)
请参阅我对Singletons here的看法.简短摘要:它们的典型误用(避免使用“笨拙的”设置器)违反了OO,并降低了设计质量.
静态变量是从与Singletons相同的布料上剪下来的,以及Monostate(非静态吸气剂,静态数据,构造函数为“工厂”).避免他们.考虑一下是否使所有内容都是静态的:播放器,地图,摄像机,敌人等.您可以避免使用许多“麻烦的”设置器.但这是OO吗?完成游戏后,您可以在其他游戏上重用寻路算法,AI算法等吗?或者它们是否有过多的特定于您当前游戏的全局变量(Singletons等)被永久地烧掉了?
内容总结
以上是互联网集市为您收集整理的Java-Singleton比静态更好?全部内容,希望文章能够帮你解决Java-Singleton比静态更好?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。