我有一个对话框,用于存储使用Java Swing开发的应用程序的用户首选项。有20多个首选项,我想在特定首选项更改时通知其他模块。我知道我可以保存一个听众列表,并在首选项发生变化时通知他们。但是,我想知道两个问题:
根据您的经验,您将如何解决该架构?要遵循哪些最佳做法?
由于
答案 0 :(得分:1)
我开发了一个Swing应用程序,用户可以在其中修改一些参数来更改功能或应用程序的图形。
我这样接近:
Setting
抽象类表示用户可以更改的单个值。Setting
和Preferences
对象以存储值。对于实际设置,我在某处创建一个静态属性(在我的例子中,为不同的逻辑设置组创建专用类),并使用该属性读取和更改设置的值。
PRO:Settings
跟踪实例化的所有设置,因此我不需要对帧进行编码以便更改它们两次,我只是以与设置数量无关的方式进行了一次< / p>
缺点:显然需要更改代码以添加新设置。虽然在我的情况下这不是问题,因为只需要代码中的其他更改就需要新的设置,在您的情况下可能是。