2017-01-16 8 views
0

私は時間登録アプリを持っており、一部のユーザーは自分の好みに応じて週の最初の曜日に変更を要求しました。私はカレンダーオブジェクトの上に週の最初の曜日を設定することができますが、私はそれらの多くで働いていると私はすべての最初の日を設定するように感じることはありません。だから私のアプリ全体の最初の日を設定する方法はありますか?カレンダーsetFirstDayOfWeekアプリ全体

答えて

2

もDRY原則として知られている「自分自身を繰り返してはいけない」と言うソフトウェアプログラミング、上の黄金のルールがあります

それらのすべての最初の日の設定のように私は感じていません。だから、同じコードを何度も何度も繰り返し書く必要はありませんが、いくつかのコードですべてのコードを実行する必要があります。

これらの場合、一般的な方法は次のとおりです。工場を建設する。

class CalendarFactory { 

    public static void setFirstDayOfWeek(Context context, int value){ 
     // use context to save value in SharedPreferences 
    } 

    public static Calendar newInstance(Context context) { 
     // read the value from SharedPreferences 
     // create new GregorianCalendar 
     // setFirstDayOfWeek 
     // return 
    } 
} 

このメソッドを使用すると、常にカレンダーのインスタンスを必ず取得することができます。

関連する問題