在写代码的时候,经常会用到if/else语句或者switch/case语句。虽然很省事,但是没有体现到java的封装、继承、多态等特性。没有用到java的面向对象编程的精髓。
比如这种if/else语句:
String str = "菠萝"; if ("苹果".equals(str)) { System.out.println("又大又红的苹果"); } else if ("菠萝".equals(str)) { System.out.println("又酸又甜的菠萝"); } else if ("梨".equals(str)) { System.out.println("又甜又脆的梨"); }
我们应该如何使用设计模式改写呢?
第一种方式:使用策略模式
接口:Strategy
public interface Strategy { void comment(); }
苹果实现类:
@Component public class Apple implements Strategy { @Override public void comment() { System.out.println("又大又红的苹果"); } }
菠萝实现类:
1 @Component 2 public class Pineapple implements Strategy { 3 @Override 4 public void comment() { 5 System.out.println("又酸又甜的菠萝"); 6 } 7 }View Code
标签:case,System,else,Strategy,println,设计模式,public,out From: https://www.cnblogs.com/Aaronqcd/p/17706817.html