gpt4 book ai didi

python - 如何最好地组织 Django 系统的规则组件?

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:51 25 4
gpt4 key购买 nike

我正在用 Django 设计(并最终编写)一个由两个主要组件组成的系统:

  1. 游戏管理器:这本质上是一个数据输入部分。受信任的(非公开)用户将在游戏系统上输入信息,例如玩家可能拥有的选项。这个接口(interface)只是 Django 管理控制台,它除了保存信息外不会“做”任何事情。
  2. 角色经理:这是上述数据的消费者。公共(public)用户将在上面定义的角色扮演系统中创建角色,从那些受信任的用户输入的选项中提取。从 Django 的角度来看,这是项目中的一个单独的应用程序。

但是,有一点我不确定该放在哪里,那就是与每场比赛相关的“规则”。从本质上讲,对于第一个应用程序中的每个游戏,都有一组先决条件、限制和其他特定于该游戏的业务逻辑。 (还有所有游戏通用的类似结构逻辑。)逻辑将用 Python 编码,而不是用户输入。

该逻辑在验证特定角色的过程中使用,但与特定游戏关联并且需要动态换出。它是一个单独的应用程序,还是应该与角色管理器的表单相关联?或者可以两者兼而有之?

这是我从头开始构建的第一个 Django 应用程序(而不是咀嚼别人的代码),而且我是 Python 哲学的新手,所以我对此很感兴趣。

提前致谢。

最佳答案

我会在应用程序中使用游戏逻辑创建名为 rules 的子目录,并在其中创建以您想要服务的每个游戏命名的模块。然后为这些模块创建一个通用接口(interface),您的游戏将使用该接口(interface)并按名称导入正确的规则模块(如果您的游戏名为 adom,则只需 __import__('rules.adom') 在主游戏引擎并调用游戏特定方法。

如果您的游戏不创建自己的模型和 View ,那么似乎没有理由为每个游戏创建特定的应用程序。这是一件微妙的事情,因为使用的代码是基于存储在数据库中的数据。您是否考虑过在数据库中存储额外的游戏脚本,然后执行它们?这似乎更自然:游戏是一组数据和与该游戏关联的其他脚本。

关于python - 如何最好地组织 Django 系统的规则组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3504405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com