摘要:原文链接译者个人翻译,水平有限,如有错误欢迎指出,谢谢设计模式工厂模式工厂模式是中最常用的设计模式之一。这种类型的设计模式属于创建型模式下,创建一个对象最好的方式之一。调用圆的方法获得矩形的一个对象并调用它的方法。
设计模式-工厂模式原文链接
译者:smallclover
个人翻译,水平有限,如有错误欢迎指出,谢谢!
工厂模式是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式下,创建一个对象最好的方式之一。
在工厂模式中,我们不会把创建对象的逻辑暴露给客户端,同时通过使用通用接口来创建对象引用。
我们将创建一个Shape接口以及实现这个Shape接口的类。接下来一步,我们会定义一个工厂类ShapeFactory。
FactoryPatternDemo,我们的demo类将通过图形工厂来获得图形对象。通过传送信息(圆、矩形、正方形)到图形工厂来获得我们所需要的类型的对象。
创建一个接口
Shape.java
public interface Shape { void draw(); }第二步
创建具体的实现类来实现相同的接口(Shape interface)。
Rectangle.java
public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); } } Square.java public class Square implements Shape { @Override public void draw() { System.out.println("Inside Square::draw() method."); } } Circle.java public class Circle implements Shape { @Override public void draw() { System.out.println("Inside Circle::draw() method."); } }第三步
创建一个工厂基于传送的信息生成具体类的对象。
ShapeFactory.java
public class ShapeFactory { //使用getShape方法获得对应图形的对象 public Shape getShape(String shapeType){ if(shapeType == null){ return null; } if(shapeType.equalsIgnoreCase("CIRCLE")){ return new Circle(); } else if(shapeType.equalsIgnoreCase("RECTANGLE")){ return new Rectangle(); } else if(shapeType.equalsIgnoreCase("SQUARE")){ return new Square(); } return null; } }第四步
使用工厂通过传送过来的类型信息获得具体类的对象。
FactoryPatternDemo.java
public class FactoryPatternDemo { public static void main(String[] args) { ShapeFactory shapeFactory = new ShapeFactory(); //获得圆的一个对象并调用它的draw方法。 Shape shape1 = shapeFactory.getShape("CIRCLE"); //调用圆的draw方法 shape1.draw(); //获得矩形的一个对象并调用它的draw方法。 Shape shape2 = shapeFactory.getShape("RECTANGLE"); //调用矩形的draw方法 shape2.draw(); //获得正方形的一个对象并调用它的draw方法。 Shape shape3 = shapeFactory.getShape("SQUARE"); ////调用的draw方法 shape3.draw(); } }第五步
校验输出。
Inside Circle::draw() method. Inside Rectangle::draw() method. Inside Square::draw() method.
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/66199.html
摘要:原文链接译者个人翻译,水平有限,如有错误欢迎指出,谢谢设计模式抽象工厂模式抽象工厂的核心是一个超级工厂,而这个工厂能创建其他的工厂。在抽象工厂模式中,一个接口负责创建抽象与一个工厂相关的对象,不需要显示的指定它们的类。 原文链接译者:smallclover个人翻译,水平有限,如有错误欢迎指出,谢谢! 设计模式-抽象工厂模式 抽象工厂的核心是一个超级工厂,而这个工厂能创建其他的工厂。所以...
摘要:创建的对象使构造函数私有,外界将无法实例化该类获得唯一可用的对象第二步从单例类获得唯一的对象。非法构造编译错误,构造函数不可见。获得唯一可用对象展示信息第三步校验输出。 原文链接译者:smallclover个人翻译,水平有限,如有错误欢迎指出,谢谢! 设计模式-单例模式 单例模式是Java中最简单的设计模式之一。这种类型的设计模式,是创建型模式下创建对象的最好方式之一。这个模式涉及到一...
摘要:设计模式是软件开发人员在整个软件开发的过程中面临普遍问题的解决方案。这些作者被统称为四人帮。根据这些作者的观念,设计模式主要是基于一下几种面向对象的设计原则。例如,单例模式表示使用单一对象。我们还将讨论另外一个类别的设计模式。 原文链接译者:smallclover个人翻译,水平有限,如有错误欢迎指出,谢谢! 设计模式-概述 设计模式体现了经验丰富的面向对象软件开发人员的最佳实践。设计模...
摘要:调用者对象会寻找合适的并且能够处理该命令的对象,然后把该命令传递给相应的对象处理。紧接着创建一个类代表请求。创建具体的命令类和实现接口,它们将会作为具体的命令被处理。代表调用者,它能获得并且发出命令。 原文连接译者 smallclover希望对大家有所帮助。谢谢!(●◡●) 设计模式-命令模式 命令模式是一种数据驱动的设计模式,属于行为型模式这一类。命令模式会将一个请求包装成一个对象并...
阅读 2007·2021-09-22 15:54
阅读 1800·2021-09-04 16:40
阅读 829·2019-08-30 15:56
阅读 2594·2019-08-30 15:44
阅读 2098·2019-08-30 13:52
阅读 1068·2019-08-29 16:35
阅读 3304·2019-08-29 16:31
阅读 2532·2019-08-29 13:48