2

最も普遍的で最良のアプリケーション構成管理方法は何ですか?「適切な構成管理」を行うために、これらのプロパティが必要です。

  • 使用可能なすべてのプロパティとそれらのデフォルト値のリストが1か所にあります。
  • アプリユーザーが1か所で変更できるプロパティのリスト。
  • 特定のプロパティを取得すると、その値は2番目のリスト(ユーザーが変更可能な構成)から返されます。存在しない場合は、最初のリストから返されます。

これまでのところ、1番目のリストをオブジェクト(より具体的にはdict)としてハードコーディングし、アプリユーザーが一部のプロパティを簡単に変更できるようにするために.conf使用するファイル(2番目のリスト)を記述し、パブリックメソッドを記述しました。 ConfigParserconfigオブジェクトを使用して、その名前でプロパティを取得するか、プロパティがない場合は例外を発生させます。結局、1つのオブジェクトがすべてのもの(ファイルの解析、例外の発生、プロパティのオーバーライドなど)の管理を担当していましたが、多かれ少なかれ同じことを行う組み込みライブラリがあるのか​​、それとももっと良いのか疑問に思いました。すべてのKISS、DRY、およびその他の原則を考慮に入れた構成を管理する方法(私はこの方法で常に成功するとは限りません)?

前もって感謝します。

4

1 に答える 1

0

Create a default settings module which contains your desired default settings. Create a second module intended to be used by the the user with a from default_settings import * statement at the top, and instructing the user to write any replacements into this module instead.

Python is rather expressive, so in most cases, if you can expect the user to understand it on any level, you can use a Python module itself as the configuration file.

于 2013-03-06T22:24:34.257 に答える