工厂方法模式
来源:互联网 发布:js保留三位小数 编辑:程序博客网 时间:2024/05/01 11:54
工厂方法模式
- 工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现
/** * 抽象的动物类,里面有抽象的方法 */public abstract class Animal { public abstract void eat();}
/** * 工厂类接口,里面有抽象的创造动物的方法 */public interface Factory { public abstract Animal createAnimal();}
/** * 具体的猫类继承抽象动物类,重写抽象方法 */public class Cat extends Animal { @Override public void eat() { System.out.println("猫吃鱼"); }}
/** * 猫工厂类实现工厂类并实现它的抽象方法,返回一个猫对象 */public class CatFactory implements Factory { @Override public Animal createAnimal() { return new Cat(); }}
/** * 具体的狗类继承抽象动物类,重写抽象方法 */public class Dog extends Animal { @Override public void eat() { System.out.println("狗吃肉"); }}
/** * 狗工厂类实现工厂类并实现它的抽象方法,返回一个狗对象 */public class DogFactory implements Factory { @Override public Animal createAnimal() { return new Dog(); }}
/** * 测试类 */public class MyClass { public static void main(String[] args) { // 需求:我要只狗 Factory f = new DogFactory(); Animal a = f.createAnimal(); a.eat(); //需求:我要只猫 f = new CatFactory(); a = f.createAnimal(); a.eat(); }}
优点:客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性
缺点:需要额外的编写代码,增加了工作量
0 0
- 工厂模式 -- 工厂方法
- 工厂模式-工厂方法
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式---工厂方法模式
- 【模式】工厂方法模式
- 工厂方法,抽象工厂模式
- C#工厂模式-工厂方法
- 工厂模式 和工厂方法
- 工厂模式-C-工厂方法
- 工厂模式以及工厂方法
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂方法、抽象工厂模式
- 工厂模式(简单工厂、工厂方法)
- 简单工厂|工厂方法|抽象工厂模式
- 设计模式-工厂模式(简单工厂模式+工厂方法模式)
- 解决IOS点击延迟跳转的问题
- 通过weka.jar包来进行数据预处理
- ModelAndView详解
- python3 安装pymysql连接模块
- 剑指Offer面试题3:二维数组中的查找
- 工厂方法模式
- Bootstrap进度条
- Java类加载顺序
- iOS回顾笔记( 02 ) -- 由九宫格布局引发的一系列“惨案”
- css布局两边固定中间自适应
- 根据后序和中序遍历输出先序遍历
- ClassNotFoundException: org.apache.catalina.loader.DevLoader
- Scrapy爬虫入门教程七 Item Loaders(项目加载器)
- 公有与私有