日历设置整个应用程序的一周第一天



我有一个时间注册应用程序,一些用户要求根据他们的喜好更改为一周的第一天。我知道我可以在日历对象上设置一周的第一天,但我正在使用其中的很多,我不想在所有对象上设置第一天。那么有没有办法为我的整个应用程序设置第一天?

我不想把第一天都放在他们身上

软件编程有一条黄金法则,即"不要重复自己",也称为 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 
   }
}

那么它只是确保通过此方法获取日历的实例。

最新更新