1

我知道根据开闭原则,类,接口,代码......添加新功能或内容时应该保持不变,但文件也在这种情况下吗?

我在设计一个游戏,游戏有一些怪物信息,如果有新的怪物要添加或更新,游戏(在客户端)可能会下载或替换一些文件。

我在担心怪物信息的格式应该是什么:1个包含所有怪物信息的文件还是每个怪物都有单独的文件?

1.将所有怪物信息存储到一个文件中(例如:monsterlist.json),每次添加新怪物都会替换该文件,例如:

{  
    "monsterList":[
        {
            "id":1,
            "hp":100,
            "attack":230,
        },
        {
            "id":2
            "hp":500
            "attack":980
        }
    ]
}

2.每个怪物都有一个单独的文件,每次添加一个新怪物也会添加一个新的怪物json:

怪物1.json

{
    "id":1,
    "hp":100,
    "attack":230,
}

怪物2.json

{
    "id":2,
    "hp":500,
    "attack":980,
}

一开始我认为case 1最方便,因为当我添加或更新任何怪物时,我只需要替换monsterlist.json,但是对于case 2,我需要知道哪个json是新的(可能需要额外的行来存储更新状态在服务器数据库中)。

但是突然想起开闭原则,添加新东西不应该修改当前内容,添加新怪物时替换文件似乎不合理。

以上只是我认为“文件”是否包含在开放封闭原则中的示例,而不是询问哪种格式更好。我要问的重点不是哪种文件格式更好,而是开闭原则的定义,因为我找不到任何提到“文件”的定义,一旦确定,我就可以推断出应该使用哪种文件格式。

4

0 回答 0