アプリケーションがいくつか(〜5)の構成パラメーターを取り、そのアプリケーションがテクノロジー以外のユーザー(KISSなど)によって使用される場合、通常、構成オプションの読み取りと、オブジェクト/関数間でのパラメーターの受け渡しをどのように処理しますか? (複数のモジュール)?
オプションの例:入力および出力ディレクトリ/ファイル名、詳細レベル。
私は通常optparse
(Python)を使用し、オプション/パラメーターを引数として渡します。しかし、すべてのモジュールのオブジェクトによって直接読み取られる構成テキストファイルを使用する方が一般的かどうか疑問に思います(ただし、これは「グローバル」変数を持ち、誰も状態を「所有」しないようなものではありませんか?) 。
もう1つの典型的な問題は、単体テストです。各単一モジュールを個別に単体テストしたい場合、特定のモジュールは5つの構成オプションのうち1つしか必要としない場合があります。通常、個々のモジュール/オブジェクトをアプリケーションの残りの部分から切り離し、それでも1つまたは2つの必要なパラメーターを受け入れることができるようにするにはどうすればよいですか(単体テストフレームワークは何らかの方法で構成機能を呼び出したり引き継いだりしますか)?
私の推測では、これを行うための独自の正しい方法はありませんが、さまざまなアプローチやよく知られたパターンについて読むのは興味深いでしょう。