为什么IM产品要抽象出消息列表和联系人这两个概念?他们可以只保留其一吗?
联系人是是稳定的、静态的,消息列表是临时的、动态的。从业务上看,用户可以同时拥有1000个,或者更多的联系人,但是近期与用户有沟通的通常只是很少的人。
如果只有通讯录,用户不得不时刻面对大量的联系人列表,这种信息负载是没有必要的,如果只有联系人列表,用户则无法通过移除来减少列表的长度。
有了消息列表这个临时的视图,用户可以更方便的管理列表,强迫症的用户甚至可以每天阅读完消息并清空消息列表。
同时消息列表提供了良好的扩展性,我们可以将消息列表理解为一个为用户提供信息的视图,我们除了聊天消息以外,理论上我们可以通过消息列表向用户呈现任何我们想触达用户的信息,不妨大胆设想,消息列表是否可以插入广告呢?
理论上是完全可以的,消息列表的确具备这样良好的扩展能力。