这句话是怎么理解呢

xiaohai582 2011-11-21 01:40:36
IMessageItemSequence requestMessageBody = messageFactory.CreateMessageItemSequence();
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohai582 2011-11-21
  • 打赏
  • 举报
回复
谢谢,解释得很清楚。
stonespace 2011-11-21
  • 打赏
  • 举报
回复
工厂模式,你可以去看看关于Factory设计模式的资料,

工厂模式是用来创建新实例的一种方法,这里IMessageItemSequence是个接口,抽象类,接口和抽象类是无法直接用new创建实例的,而且作为使用IMessageItemSequence的代码,不需要(也不能知道)知道创建的是哪个派生类的代码,它只管用接口的方法,

为了解决这个问题,一种解决方案是专门用一个类去创建IMessageItemSequence接口派生类的实例,也就是工厂类,就是你这里的messageFactory,

这样的好处是,创建接口实例的程序和使用接口的程序完全分开,这样如果你想换一个实例的派生类,只需要修改工厂类messageFactory,而不需要修改使用接口的代码,如果使用接口的代码都用new生成派生类的实例,而不是用messageFactory.CreateMessageItemSequence的话,如果你想换另一个类,那么所有使用接口的代码的new处都必须修改,这样就麻烦了,用messageFactory.CreateMessageItemSequence的话只需要改一个地方,
阿非 2011-11-21
  • 打赏
  • 举报
回复
用工厂方法创建实例 消息序列

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧