Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Design Pattern & UML  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Strategy(策略)与工厂模式有什么区别?
james_patriot





发贴: 2
积分: 0
于 2006-07-12 09:02 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
除了一个创建模式一个是行为模式的意义上的区别外.
其它都很相似.Strategy(策略)完全可用工厂模式来实现.
不知理解是否正确?



作者 Re:Strategy(策略)与工厂模式有什么区别? [Re:james_patriot]
floater

Java Jedi

总版主


发贴: 3233
积分: 421
于 2006-07-12 22:39 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
not quite right.

On the one hand, a lot of patterns have similar code. On the other hand, their intentions are entire different, the invariants and variants are hidden under the code.

In the strategy patten, we want to switch strategies, depending on different values of some fieldMoon. The place to switch is the tricky part, i.e., where do you want to put the switching code, e.g., in the caller's constructor, or in an if-else block, or on a method signature.



"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
- Martin Fowler, Refactoring - Improving the Design of Existing Code
作者 Re:Strategy(策略)与工厂模式有什么区别? [Re:james_patriot]
gaoxt1983





发贴: 67
积分: 0
于 2006-07-18 17:10 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
没必要深究这个,设计的时候怎么合适就怎么用,也不是说必须用,只是在适当的时候用,工作中慢慢体会吧


作者 Re:Strategy(策略)与工厂模式有什么区别? [Re:james_patriot]
jameszhang



CJSDN高级会员


发贴: 1594
积分: 111
于 2006-07-18 20:23 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
工厂模式 种类 可多了,共同点 是 得返回 产品,呵呵,策略 可不一定,是void 也可以,只是根据条件 不同,处理策略不同, 如果说 策略 与 状态 有点象,我同意,呵呵


"First they ignore u, then they laugh at u, then they fight u, then u will win

Mahatma Gandhi"

作者 Re:Strategy(策略)与工厂模式有什么区别? [Re:james_patriot]
zj1999





发贴: 1
积分: 0
于 2008-09-22 21:57 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
楼上说的对,
工厂模式是创建模式,返回的是一个对象给你用.
而策略模式是行为模式.它制造好对象之后,还给你这个对象的方法可以进行相应的计算和处理.




flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923