将 if-else 修改为策略模式
我在java中有以下if-else分支。
if (str.equals("a")) { A;}
else if (str.equals("b")) { B;}
else if (str.equals("c")) { C;}
else if (str.length == 5) { D;}
else { E;}
如何将此代码修改为策略模式?
I have the following if-else branch in java.
if (str.equals("a")) { A;}
else if (str.equals("b")) { B;}
else if (str.equals("c")) { C;}
else if (str.length == 5) { D;}
else { E;}
how to modify this code into strategy pattern ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是使用工厂的策略模式的示例:
Here an example of a strategy pattern using a factory:
您必须从面向对象编程的角度进行思考。使用多态性。
对于策略模式来说,
定义一个接口并为实现该接口的类提供不同的实现。选择上下文并多态地决定类。
http://en.wikipedia.org/wiki/Strategy_pattern
但是对于您的
if-否则正确的模式对应于“工厂模式”。
http://en.wikipedia.org/wiki/Factory_method_pattern
You have to think in terms of object-oriented programming. Use Polymorphism.
For strategy pattern,
Define an interface and provide different implementations to classes which implements the interface. Choose context and decide the class ploymorphically.
http://en.wikipedia.org/wiki/Strategy_pattern
However for your
if-else
the correct pattern corresponds to 'Factory Pattern'.http://en.wikipedia.org/wiki/Factory_method_pattern