`
junrainbow
  • 浏览: 2759 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA设计模式--工厂方法模式

阅读更多
工厂方法模式:
很多人都会与抽象工厂模式混淆在一起,工厂方法主要想表达,父类的方法或方法中调用了其他对象的方法时,有部分父类无法确定,但又想让父类完成大多开发工作,使得子类们可以最大限度的复用,又能动态的改变实现利于扩展性。


定义工厂方法类
public abstract Class Cat implements ICat(){
     //抓老鼠行为
     public void catchMouse(String catName){
      //步骤一
      system.out.println(){
          catName+"抓老鼠之前,做一些准备工作";
      };
      //步骤二
      IMouse mouse = createMouseFactory();
      mouse.kill();//老鼠个儿屁了
       //步骤三
       system.out.println(){
          catName+"抓完老鼠,再做一些扫尾工作";
      };
    }
  
    //抽象方法
    public abstract IMouse createMouseFactory();
}


这时,只有个父类,还是个半成品,屁事儿干不了。但它实际上却已经实现了大部分代码工作。子类们或着是使用者要“构造一个猫对象”就很简单了。继续看一下:


//我们创建一只“TOM”猫
public Class TomCat extends Cat(){
     //抓老鼠行为
     public IMouse createMouseFactory(){
        return new JettyMouse();//返回一个“杰瑞”老鼠
    }
}


调用者,想让TOM抓老鼠,那么就这么简单:
public static void main(String args[]){
    ICat cat = new TomCat();
    cat.catchMouse();
}
完成了,下次又需要抓一只叫“大白的老鼠”,那么和上面一样,只需要覆盖抽象方法即可。如果步骤一与步骤三的工作量很大,你就知道这是多么爽的一件事了。因为你完全没写,它就实现了,而且还能动态的指挥猫咪抓哪种老鼠,这里不提模式之间的组合,否则代码会很多,不易学习这种模式。代码语法可能有错误,全手敲的。见谅~

这就是工厂方法模式的思想,实现的方式很多,就是让父类完成大量工作,把稳定的代码写到父类中,变化的部分延迟到子类中确定!
分享到:
评论

相关推荐

    java设计模式----抽象工厂模式

    java设计模式----抽象工厂模式,简单工厂模式代码 代码内部

    java设计模式---诙谐易懂版

    根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...

    java设计模式--工厂模式

    Java设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式的核心思想是将对象的创建过程封装起来,使得创建过程独立于使用过程,从而提高了代码的可扩展性和可维护性。在HeadFirst...

    Java设计模式 - 简单工厂 & 工厂方法(构建工厂)源码:FactoryModel

    Java设计模式 - 简单工厂 & 工厂方法(构建工厂)源码:FactoryModel - 详情:https://blog.csdn.net/Dream_Weave/article/details/83989879

    2.java设计模式-创建者模式-工厂方法模式.pdf

    java设计模式-创建者模式-简单工厂模式。详细的讲解了什么是工厂方法模式及应用场景和应用场景的代码事例。及各工厂模式的区别。

    JAVA设计模式-chm版

    Java设计模式是软件开发中的一种最佳实践,它总结了在解决特定问题时程序员们经常采用的有效方法。这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的...

    java设计模式-工厂模式

    Java设计模式中的工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品对象时,它不会直接创建,而是调用一个工厂对象来完成创建工作。这种模式的核心在于封装了对象...

    【Java设计模式-源码】工厂模式

    Java中的工厂设计模式是一种创建型模式,它定义了一个用于创建对象的接口,但允许子类改变将被创建的对象的类型。这种模式促进了代码库的灵活性和可扩展性。 ## 二、详细解释及实际示例 1. **实际示例**: - 想象...

    Java设计模式教程 - Java设计模式 - 工厂模式

    Java设计模式是软件开发中的重要概念,它们是解决常见编程问题的经验总结,为代码组织提供了标准的结构和模式。工厂模式作为最常用的设计模式之一,是创建型模式的代表,它的主要目标是提供一个创建对象的接口,但让...

    Java设计模式----通俗易懂版

    Java设计模式是软件工程中的一种重要思想,它总结了在解决特定问题时,程序员们反复使用的一些最佳实践和解决方案。这个资源"Java设计模式----通俗易懂版"显然是一个专门针对初学者或需要深入理解设计模式的开发者...

    Java设计模式-工厂方法

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的模板或最佳实践。工厂方法作为其中一种创建型设计模式,是Java程序员必须掌握的核心技能之一。这个模式的主要目标是提供一个接口来创建对象...

    java设计模式-简单工厂模式示例

    简单工厂模式是面向对象设计中的一种经典设计模式,它属于创建型模式,主要用来解决对象的创建问题。...通过深入理解这个模式,可以帮助开发者更好地理解和运用其他更复杂的设计模式,如工厂方法模式和抽象工厂模式。

    JAVA-设计模式-创建型模式-工厂模式

    JAVA-设计模式-创建型模式-工厂模式

    【Java设计模式-源码】工厂工具包模式

    Java中的工厂工具包模式是一种强大的设计模式,有助于创建具有分离的构建器和工厂接口的工厂。该模式对于管理复杂的对象创建场景至关重要。 ## 二、别名 * 对象工具包 * 工具包 ## 三、工厂工具包设计模式的意图 ...

    Java设计模式-抽象工厂

    **Java设计模式——抽象工厂** 在软件工程中,设计模式是一种在特定场景下解决常见问题的模板或蓝图。抽象工厂模式是设计模式中的一种结构型模式,它提供了一个创建对象族的接口,但允许子类决定实例化哪一个类。这...

    1.java设计模式-创建者模式-简单工厂模式.pdf

    简单工厂模式是Java设计模式中创建型模式的一种,也被称为静态工厂方法模式。该模式的主要思想是由一个专门的工厂类来负责创建其他类的实例。简单工厂模式通过封装创建对象的过程,使得调用者无需关心对象的具体创建...

    Java设计模式-简单工厂

    **Java设计模式——简单工厂** 简单工厂模式是软件设计模式中的一种基础模式,它属于创建型设计模式。在Java编程中,我们常常会遇到需要创建一系列相关或相互依赖的对象,而这些对象的创建过程可能会非常复杂。这时...

    java设计模式-抽象工厂模式

    总的来说,抽象工厂模式在Java中是一种非常实用的设计模式,它可以帮助我们封装产品的创建过程,降低系统间的耦合度,同时提供了更好的可扩展性,使得添加新的产品族或者产品变得更加容易。在处理具有多种变体的复杂...

    Java设计模式教程 - Java设计模式 - 抽象工厂模式

    抽象工厂模式是Java设计模式中的一种创建型模式,它提供了创建对象族的接口,而具体的对象族由子类决定。这种模式的主要目的是隔离接口与实现,使得客户端代码在更换产品族时无需修改,增强了软件的可扩展性和可维护...

    JAVA设计模式--程序设计--反射--注解--泛型

    Java设计模式、程序设计、反射、注解和泛型是Java开发中的核心概念,它们各自在不同的场景下发挥着重要作用,构建出高效、可维护的软件系统。 首先,Java设计模式是面向对象编程中的一种最佳实践,是解决常见问题的...

Global site tag (gtag.js) - Google Analytics