Oop 类图:创建一个额外的类来集中现有系统中的信息?

Oop 类图:创建一个额外的类来集中现有系统中的信息?,oop,uml,class-diagram,Oop,Uml,Class Diagram,我还没有决定我可以有哪些课程可以适应现有的在线视频游戏系统。以下是我想要实现的目标: 从服务器中的对象获取一系列设置 侦听客户端以进行连接 对于每个客户端,检查客户端上的设置是否与服务器上的设置一致 如果设置不一致(某些内容已被篡改),请断开客户端连接或更改其设置 这将由类处理,该类将作为入口点,并可以作为控制器的一种形式 现在,设置散布在许多实例中:玩家、武器、旗帜、灯光等。在程序编程中,我会获取所有这些信息并将其存储在数组中。然而,根据OO方法,有没有更好的方法来实现这一点?我是否可以创

我还没有决定我可以有哪些课程可以适应现有的在线视频游戏系统。以下是我想要实现的目标:

  • 从服务器中的对象获取一系列设置
  • 侦听客户端以进行连接
  • 对于每个客户端,检查客户端上的设置是否与服务器上的设置一致
  • 如果设置不一致(某些内容已被篡改),请断开客户端连接或更改其设置
这将由类处理,该类将作为入口点,并可以作为控制器的一种形式


现在,设置散布在许多实例中:玩家、武器、旗帜、灯光等。在程序编程中,我会获取所有这些信息并将其存储在数组中。然而,根据OO方法,有没有更好的方法来实现这一点?我是否可以创建一个或多个具有这些设置值的类,并作为facade的一种形式?

将设置数据和行为封装到至少一个对象中(即
设置
)。根据您的系统构造方式,这可能通过依赖项注入或从某些全局上下文引用,成为其他对象组成的一部分(例如,
播放器
武器
,等等)<代码>设置负责验证客户端和服务器之间的匹配(例如
设置。validateClientServerSettingsMatch()
)。在检索单个设置方面,有两种可能的方法是显式的或隐式的

明确的 您的
设置
对象,或者可能是构成它的其他实体,都有管理每个设置的方法。因此,它可能类似于
Settings.getPlayerSettings().getSomeSetting()
或'Settings.getSomePlayerSetting()`。嵌套的方式取决于您的系统。这两种方法都有一个优点,即明确哪些设置可用于客户端开发,并且如果您使用的是Java之类的语言,则会进行编译时类型检查。折衷的办法是每次使用新设置时都需要更改对象

含蓄的
这只是在
Settings
object-
Settings.getSetting(settingName)
中有一个通用方法。这使得添加设置变得非常容易,而不必进行任何类型的有用类型检查,除非您使用Python或Ruby等语言中的某种排序元魔术或Java中的大型case语句自行执行某些操作

将设置数据和行为封装到至少一个对象中(即
设置
)。根据您的系统构造方式,这可能通过依赖项注入或从某些全局上下文引用,成为其他对象组成的一部分(例如,
播放器
武器
,等等)<代码>设置负责验证客户端和服务器之间的匹配(例如
设置。validateClientServerSettingsMatch()
)。在检索单个设置方面,有两种可能的方法是显式的或隐式的

明确的 您的
设置
对象,或者可能是构成它的其他实体,都有管理每个设置的方法。因此,它可能类似于
Settings.getPlayerSettings().getSomeSetting()
或'Settings.getSomePlayerSetting()`。嵌套的方式取决于您的系统。这两种方法都有一个优点,即明确哪些设置可用于客户端开发,并且如果您使用的是Java之类的语言,则会进行编译时类型检查。折衷的办法是每次使用新设置时都需要更改对象

含蓄的 这只是在
Settings
object-
Settings.getSetting(settingName)
中有一个通用方法。这使得添加设置变得非常容易,而不必进行任何类型的有用类型检查,除非您使用Python或Ruby等语言中的某种排序元魔术或Java中的大型case语句自行执行某些操作