gpt4 book ai didi

python - 在 Python 中对某些操作进行分组的类

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:43 25 4
gpt4 key购买 nike

我正在为自己的 Linux 发行版编写配置程序。配置分为几个部分:general、networking、session 等 - 将相似的选项分组。例如。在常规部分有计算机名称、描述、工作组、语言选项。

我认为每个部分都应该由类来呈现,每个选项都应该有相应的属性(getter 和 setter)。

此外,如果有测试给定选项是否启用的功能(即系统是否满足此选项的要求),那么对于泛化来说会很好,即:

class General(object):

@property
def name(self):
return self.get_computer_name()

@name.setter
def name(self, name):
self.set_computer_name(name)

def is_option_enabled(self, option):
return True_or_False

此外,我还需要这些选项(以及部分)与相应的翻译名称和描述(使用 gettext)链接在一起。

我知道在类中硬编码表示层不是个好主意...我需要诸如设计模式之类的东西,以及如何实现它的总体思路/模板,以便它是高质量的、易于管理和扩展的。

我将为这些类(文本、图形用户界面、网络)创建多个前端,因此我不想每次都重复相同的代码。

我很努力地思考,但不幸的是我不知道该怎么做或者有一些疑问......

谢谢你:)

最佳答案

我会说您的项目看起来雄心勃勃。

并且对每个部分使用一个类对我来说似乎不是一个好主意,因为它基本上意味着添加、删除或修改部分将需要更改代码,它不是动态的,并且意味着发布新版本与前一个不兼容。

如果每个部分都以相同的方式处理会更好。

对于核心,我认为您需要:

  1. 带有可接受部分和选项声明的 protected 文件
  2. 有权访问此类文件的配置持有者
  3. 用于配置文件的加载器:
    • 读取/解析您的配置文件。
    • 构建您的配置容器。
  4. 命令 可以访问您的配置持有者:
    • 实现此访问的抽象 BaseCommand
    • 每个实际命令的子类:GetAddRemove

然后每个前端将只是这些命令的接口(interface)。

关于python - 在 Python 中对某些操作进行分组的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8999943/

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