例如你设计一个图书馆系统支持用户预订被借出的书籍。
有两个解决方案,一是:每一本书被归还时校验是否有人预订,如有预订则以某种方式如短信等通知预订客户,同时书籍做另类处理不会被流入馆内以节省时间;但是问题是预订的客户要来走一个预订的流程即管理员需要找到被某人预订的书籍。
二是:每天晚上下班之后某一时间运行一个批处理程序来处理当天所有归还的书籍。这导致的问题是书籍可能会重新流入管内增加被借走的风险,但这一风险是可控的可通过某些Role来保证该书不会被其它人借走。
需注意的问题:如果有多人预订就会形成一个有优先级的预订队列,如果第一个客户没有在规定时间取走该书,则系统应该向队列中的第二个人发送通知,以此类推。系统如何自动实现此功能?