我知道根据开放的封闭原则,类似于类,接口,代码......在添加新函数或内容时应该保持不变,但在这种情况下也是文件?
我正在设计游戏,游戏中有一些怪物信息,游戏(在客户端)可能会下载或替换某些文件,如果有新的怪物需要添加或更新。
我担心怪物信息的格式应该是什么:1个包含所有怪物信息的文件或每个怪物都有个别文件?
1.将所有怪物信息存储到一个文件中(例如:.monsterlist.json),每次添加新怪物都会替换该文件,例如:
{
"monsterList":[
{
"id":1,
"hp":100,
"attack":230,
},
{
"id":2
"hp":500
"attack":980
}
]
}
2.每个怪物都有一个单独的文件,每次添加一个新的怪物也会添加一个新的怪物json:
monster1.json
{
"id":1,
"hp":100,
"attack":230,
}
monster2.json
{
"id":2,
"hp":500,
"attack":980,
}
一开始我认为案例1最方便,因为当我添加或更新任何怪物时我只需要替换monsterlist.json,但对于案例2,我需要知道哪个json是新的(可能需要额外的行来存储)服务器数据库中的更新状态。)
但是突然我记得开放的封闭原则,添加新的东西不应该修改当前内容,添加新怪物时替换文件似乎不合理。
以上只是我认为“文件”包含在开放封闭原则中的原因的例子,而不是询问哪种格式更好。我要问的主要问题不是哪个文件格式更好,而是开放封闭原则的定义,因为我找不到任何提到“文件”的定义,一旦确认,我就可以推断出应该使用哪种格式的文件。