父亲监视小孩睡醒的设计

这个习题,是老师们经常布置的作业习题。我们最近也布置了这个作业,这个可以实现的很简单,完全为了应付作业,直接写个小孩类child和父亲类Father类,然后在Father类中写个线程,去不停的监视小孩的状态。这能实现,但是这好比父亲一直守到小孩的床边看着小孩一样,父亲这时就只能做这一件事了,如果再加个条件的话,比如小孩在不同的时间段醒来,需要的也不同的话,那就麻烦了,比如小孩在上午和下午醒来需要父亲抱,而在中午醒来需要母亲喂奶,那么父亲和母亲都得在床边守着小孩,这样很不合理,可扩展性差。

  其实,这道题是意在考我们的设计模式,这道题主要是想考我们一个事件驱动模型,就像AWT的事件模型一样。这里我们可以换一种思维来思考,就是让小孩醒来去通知在监听他的人。这样,父亲和母亲就可以去干别的事了,呵呵!

  这里我们可以设计一个事件类WakeEvent,一个监听接口WakeListener,小孩child中添加个添加监听者的方法,这里就要用到接口回调了。

 主要思考点就是让小孩醒来去通知监听他的人,我写的一个demo代码,仅供参考:

如转载请注明出处,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值