为了账号安全,请及时绑定邮箱和手机立即绑定

工厂方法模式的概述和使用学习笔记

标签:
JavaScript

A:工厂方法模式概述

  • 工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。

    • B:优点

  • 客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性

    • C:缺点

  • 需要额外的编写代码,增加了工作量

    • D:案例演示

    • 动物抽象类:public abstract Animal { public abstract void eat(); }
      工厂接口:public interface Factory {public abstract Animal createAnimal();}
      具体狗类:public class Dog extends Animal {}
      具体猫类:public class Cat extends Animal {}
      开始,在测试类中每个具体的内容自己创建对象,但是,创建对象的工作如果比较麻烦,就需要有人专门做这个事情,所以就知道了一个专门的类来创建对象。发现每次修改代码太麻烦,用工厂方法改进,针对每一个具体的实现提供一个具体工厂。
      狗工厂:public class DogFactory implements Factory {
      public Animal createAnimal() {…}
      }
      猫工厂:public class CatFactory implements Factory {
      public Animal createAnimal() {…}
      }

代码:

//抽象接口    public abstract class Animal {        public abstract void eat();    }//工厂接口public interface Factory {    public Animal createAnimal();}//具体工厂类public class Dog extends Animal {    @Override    public void eat() {        System.out.println("狗吃");    }}//实现工厂接口public class CatFactory implements Factory {    @Override    public Animal createAnimal() {        return new Cat();    }}//测试public class Test {    /**     * @param args     */    public static void main(String[] args) {        DogFactory df = new DogFactory();        Dog d = (Dog) df.createAnimal();        d.eat();    }}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消