我尚未确定哪些课程可以适应现有的在线视频游戏系统。这就是我想要实现的目标:
这将由作为入口点的类处理,并且可以作为控制器的形式。
现在,设置遍布多个实例:玩家,武器,旗帜,灯光等。在程序编程中,我将获得所有这些信息并将其存储为数组。但是,根据OO方法,有没有更好的方法呢?我可以创建一个或多个具有这些设置值的类,并作为一种外观形式吗?
答案 0 :(得分:1)
将设置数据和行为封装到至少一个对象(即Settings
)中。根据系统的构造方式,这将成为其他对象组成的一部分(例如Player
,Weapon
等...),可能通过依赖注入,或从某些全局上下文引用。 Settings
负责验证客户端和服务器之间的匹配(例如Settings.validateClientServerSettingsMatch()
)。在检索个别设置方面,有两种可能的方法是明确的或隐含的。
您的Settings
对象或构成其组成的其他实体拥有管理的每个设置的方法。所以它可能是Settings.getPlayerSettings().getSomeSetting()
或'Settings.getSomePlayerSetting()`。嵌套的方式实际上取决于您的系统。要么具有明确客户端开发可用设置的优点,要么在使用Java等语言时进行编译时类型检查。每次新设置发挥作用时,权衡需要改变对象。
这只是Settings
对象中的通用方法 - Settings.getSetting(settingName)
。这使得添加设置变得非常容易,代价是任何类型的有用类型检查,除非您使用Python或Ruby等语言中的某些元语法或Java中的大型语句来自行执行某些操作。