8
ここで例外をスローするのはアンチパターンですか?
コードレビューの後、デザインの選択について議論したところです。あなたの意見は何でしょうか。 このPreferencesクラスは、キーと値のペアのバケットです。NULL値は正当です(重要です)。特定の値がまだ保存されていない可能性があり、要求されたときに事前定義されたデフォルト値で初期化することにより、これらのケースを自動的に処理したいと考えています。 説明したソリューションでは、次のパターンを使用しました(注:これは実際のコードではなく、明らかに-説明のために単純化されています)。 public class Preferences { // null values are legal private Map<String, String> valuesFromDatabase; private static Map<String, String> defaultValues; class KeyNotFoundException extends Exception { } public String getByKey(String key) { try { return getValueByKey(key); } catch (KeyNotFoundException e) { String defaultValue = defaultValues.get(key); valuesFromDatabase.put(key, defaultvalue); return defaultValue; } …