我有一个时间注册应用程序,一些用户要求根据他们的喜好更改为一周的第一天。我知道我可以在一个日历对象上设置一周的第一天,但是我和很多人一起工作,我不想在所有这些日子上设置第一天。那么有没有办法为我的整个应用程序设置第一天?
答案 0 :(得分: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
}
}
然后它确保通过这种方法获得日历的实例。