###前提・実現したいこと
アプリケーションの設定を設定ファイルから読み込み、その読み込んだ情報を色んなファイル、クラスから参照したいです。
現在はConfigUtilというクラスを使ってファイルの読み込みをやっており、色んなクラスでこのConfigUtilを呼び出しています。しかし、ConfigUtilを呼び出す度にファイル読み込みが発生してしまいます。
そこでこのファイル読み込み処理をアプリ起動時の一回だけにしたいです。実際この設定ファイルは起動後に変更されることはありません。
どのような実装とするとカッコよくまとまるでしょうか。
例えば呼び出し元のHogeクラスだけでconfigを読み込み、Fugaのコンストラクタにconfigを渡すということも考えましたが、ほかにやり方があれば知りたいと思っています。
あるいはみなさんだとどう実装しますか。
###該当のソースコード
ソースのイメージです。実行チェックしてません。
python
1 2DEFAULT_CONFIG_FILE = "./config.ini" 3class ConfigUtil(): 4 def __init__(self) 5 self.config = ConfigParser.SafeConfigParser() 6 self.config.read(DEFAULT_CONFIG_FILE) 7 8 def getConfig(self) : 9 return self.config() 10 11class Hoge(): 12 param1 = 0 # Hogeクラス内で使う変数 13 def __init__(self): 14 configUtil = ConfigUtil() 15 config = configUtil.getConfig() 16 self.param1 = config.get("hoge","key1") 17 18 def main(self): 19 #TODO 20 my_func1(self.param1) # param1を使う処理 21 fuga = Fuga() 22 fuga.main() 23 24class Fuga(): 25 param2 = 0 # Fugaクラス内で使う変数 26 def __init__(self): 27 configUtil = ConfigUtil() 28 config = configUtil.getConfig() 29 self.param2 = config.get("fuga","key1") 30 31 def main(self): 32 #TODO 33 my_func2(self.param2) # param2を使う処理 34
###補足情報(言語/FW/ツール等のバージョンなど)
- Python2.7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/27 04:26