gpt4 book ai didi

python - Linux配置工具的通用系统架构

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

我要为基于 Ubuntu 的系统编写配置工具。接下来我想编写前端(文本、GUI 和 Web)。但这是我想写的最复杂的项目,我不确定我应该使用的一般架构。

目前我有用于更改系统配置的函数和类。但这些功能可能会增长和改变。 @Abki gave我建议如何为前端编写界面。我要为这个接口(interface)创建基类,但我不知道如何将它与后端连接,接下来如何与前端连接。可能我应该使用 fasade、wrapper 或其他设计模式。

看起来像(没有 interface_to_backend 层):

enter image description here

我现在不关心更改系统配置的 UI 和功能。但是我不知道如何编写中间层,所以将来很容易将它与其余部分连接起来并扩展功能。

我需要一般的想法、设计模式,以及如何在 Python 中实现它的建议。

最佳答案

我不确定这是否完全适合 SO,但我很感兴趣,所以我会坚持下去。作为一名 ruby​​ist,我对 Python 帮不上什么忙,但这里是根据我的经验对 pattens 的一些看法。

我最初的建议是您应该查看其中的一些竞争者。具体来说,我会查看 cfengine、chef 和 bcfg2。他们每个人都讲述了一个不同的故事,但如果我总结一下,我会说:

  • > Chef有一个可爱的 dsl 语法,但被一个复杂的架构所失望
  • > bcfg2是用 python 编写的,但似乎有使用 XML 的恼人倾向:(
  • > cfengine在 promise 理论(这是 v.interesting BTW)中具有最强大的理论基础,但它是基于 C 的。

维基百科还提供了一份令人印象深刻的 configuration management tools 列表。你会发现它很有用。

关于设计您自己的工具,我建议您遵循三个原则:

  1. 简单,越简单越好。简单的范围、配置和使用都很重要。
  2. 您需要一种单一的方式来存储数据,您需要能够跟踪做出的选择,而不是践踏其他人的更改(尤其是在团队环境中)。
  3. 安全性,大多数配置管理工具在某些时候都需要 root 权限。因此,您需要确保用户可以信任他们正在运行的代码。

关于python - Linux配置工具的通用系统架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026683/

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