最近在整理设计模式,第一个就是工厂模式~
不久前项目里用到过,简单记录下使用方法及使用场景.
先说场景:
app要求的功能是接收消息,并处理.由于消息的种类不同,就意味着处理方式不同,故创建消息工厂类,意图是,帮助做消息区分.
使用:
工厂类只有一个入口及出口,入口传入消息的类别及内容,出口是:消息.以下简称Message.
Message下有子类,分别是
1.聊天消息:ChatMessage
2.视频控制消息:PlayerMessage
3.用户加入及离开消息:UserMessage
4.群组通知消息:GroupNoticeMessage
调用方法时,传入消息种类及MessageData,方法内根据种类创建Message子类,消息具体的解析及处理放在子类中,工厂类只负责根据种类创建不同的消息子类,最终输出消息子类.工厂模式应用来说,这是最简单的,会继续扩展.
代码实例如下:
