a.日常开发中经常会遇到定时去执行一些操作,比如定时更新数据。A类需要做我们写个Timer定时去取数据,这时候B类,C类也需要做这样的事情,是不是需要写三次重复代码?
这时候把timer封装成一个帮助的类来解决这个问题。
b.封装的思路:
1.这个类具有定时处理的功能
2.既然定时处理,处理什么事情呢?需要开放一个委托,让使用者告诉这个类需要做什么事情。
3.那多久做一次这件事情呢?需要开放一个参数,时间间隔。
4.封装的意义就是多处使用,且调用者不用关心内部实现。简单来说就是让使用者调用起来方便。
c.既然这个帮助类是为整个解决方案服务的,这时候起名字就定为。TimerService。
下面上个效果图,直观的了解定时任务。
1 public class TimerService 2 { 3 #region Private Members 4 private static TimerService _instance = new TimerService(); 5 #endregion 6 7 #region Constructors 8 private TimerService() 9 { 10 } 11 #endregion 12 13 #region Public Properties 14 public static TimerService Instance 15 { 16 get { return _instance; } 17 } 18 #endregion 19 20 #region Public Methods 21 public void Schedule(Action action, int interval) 22 { 23 TimerTask task = default(TimerTask); 24 task = new TimerTask(action, interval); 25 } 26 #endregion 27 28 #region Private Methods 29 #endregion 30 }