JAVA设计模式之工厂模式之工厂方法模式
2017-04-30 21:17
204 查看
import factoryPattern.factoryMethod.service.Shape; /* * 创建接口,同种产品的不同系列分别实现该工厂接口(比如三角形、矩形、椭圆均同 为形状产品)。 * 消费产品系列时只需调用该系列的工厂方法生产产品就可以了,这样避免了简单工厂方法的缺点: * 一旦该工厂方法出现故障,其他产品受到影响 */ public interface ShapeFactory { public Shape getShape(); }
public class CircleFactory implements ShapeFactory{ @Override public Shape getShape() { return new Circle(); } }
public class RectangleFactory implements ShapeFactory{ @Override public Shape getShape() { return new Rectangle(); } }
public class SquareFactory implements ShapeFactory{ @Override public Shape getShape() { return new Square(); } }
public interface Shape { String draw(); }
public class Circle implements Shape{ @Override public String draw() { return "Circle draw"; } }
public class Rectangle implements Shape { @Override public String draw() { return "Rectangle draw"; } }
public class Square implements Shape{ @Override public String draw() { return "Square draw"; } }
public class ShapeFactoryTest { @Test public void testShapeFactory(){ ShapeFactory circleFactory=new CircleFactory(); ShapeFactory squareFactory=new SquareFactory(); Shape circle=circleFactory.getShape(); Shape square=squareFactory.getShape(); assertEquals("Circle draw",circle.draw()); assertEquals("Square draw",square.draw()); } }
相关文章推荐
- JAVA设计模式(01_1):创建型-工厂模式【工厂方法模式】(Factory Method)
- JAVA设计模式(01):创建型-工厂模式【工厂方法模式】(Factory Method)
- 【设计模式与Android】工厂方法模式——化工女神的工厂
- PHP设计模式-工厂系列(二)-工厂方法模式
- 简单工厂模式、工厂方法模式、抽象工厂模式这三种工厂模式的实例及其闭合原则。
- 简单工厂方法模式和工厂方法模式
- java设计模式--工厂模式
- 设计模式之简单工厂、工厂方法模式、抽象工厂模式
- 《JAVA设计模式》之简单工厂模式
- iOS常用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)
- 工厂模式(简单工厂模式, 工厂方法模式, 抽象工厂模式)二
- 常用Java设计模式系列(5)- 简单工厂、工厂方法模式和抽象工厂模式
- [原创]工厂模式我之见(简单工厂模式 VS 工厂方法模式)
- C#设计模式之工厂模式(Factory)--02 工厂方法模式(Factory Method)
- Java设计模式(三):工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)
- 王学岗简单工厂模式和工厂方法模式
- java设计模式-工厂模式
- 工厂方法模式--简单工厂模式--抽象工厂模式
- 设计模式(二)工厂模式:2-工厂方法模式
- 工厂方法模式-Factory Method Pattern 工厂三兄弟之工厂方法模式(二):工厂方法模式概述