老代码:
可扩展性差,应对后期需求,代码需要大幅度更改;
功能代码没有抽离,嵌在业务代码中;
封装性差;
性能没有优化;
now:
统一模型,将不同的消息模型转化为统一的横幅模型,方便处理;
采用复用机制,提高性能,减少内存占用;
横幅复用池的设计,主要依靠 NSDictionary , key = reuseID, value = NSSet;
横幅设计类似 UITableViewCell,使用工厂设计模型,提高扩展性,可以支持多种样式的横幅;
横幅管理类的设计,管理复用池,模型转换,横幅替换逻辑等;
在应对后期需求,相关逻辑只需要在管理类中修改,横幅的样式和逻辑都封装在其内部,不会影响其他样式横幅;