`
xyheqhd888
  • 浏览: 409202 次
  • 性别: Icon_minigender_1
  • 来自: 秦皇岛
社区版块
存档分类
最新评论

工厂方法模式示例

阅读更多
//工厂方法模式示例:
package innerclasses;

import static net.mindview.util.Print.*;

interface Service{
        void method1();
        void method2();
}

interface ServiceFactory{
        Service getService();
}

class Implementation1 implements Service{
        private Implementation1 (){}           //private的构造函数,只能在当前类中调用此方法创建对象
        public void method1(){
                println("Implementation1 method1");
        }
        public void method2(){
                println("Implementation1 method2");
        }
        public static ServiceFactory factory =   //因为只需要一个factory对象,所以这里定义为static
                new ServiceFactory(){                //作为工厂的类使用匿名类来实现,
                        public Service getService(){
                                return new Implementation1();                
                        }
        };
}

class Implementation2 implements Service{
        private Implementation2(){}
        public void method1(){
                System.out.println("Implementation2 method1");
        }
        public void method2(){
                System.out.println("Implementation2 method2");
        }
        public static ServiceFactory factory = 
                new ServiceFactory(){
                        public Service getService(){
                                return new Implementation2();
                        }
        };
}

public class Factories {
        public static void serviceConsumer(ServiceFactory fact){
                Service s = fact.getService();
                s.method1();
                s.method2();
        }
        public static void main(String[] args) {
                serviceConsumer(Implementation1.factory);
                serviceConsumer(Implementation2.factory);
        }
}

 

分享到:
评论

相关推荐

    设计模式工厂方法模式示例代码(python--c++)

    设计模式专题之(一)单例模式---设计模式工厂方法模式示例代码(python--c++)

    设计模式专题之(二)工厂方法模式---设计模式工厂方法模式示例代码(python--c++)

    本篇文章将深入探讨设计模式中的一个核心概念——工厂方法模式,通过Python和C++的示例代码来阐述其原理和应用。 工厂方法模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。...

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    而"Factory"可能是一个代码示例,展示了工厂模式的具体实现,包括以上提到的三种模式。 通过学习和理解这三种工厂模式,开发者可以更好地组织代码,降低模块间的耦合,提高软件的可维护性和可扩展性。在实际开发...

    工厂方法模式代码示例

    工厂方法模式是一种面向对象的设计模式,属于创建型模式,它提供了一种创建对象的最佳方式。在工厂方法模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式。 工厂方法模式的核心思想是...

    设计模式之工厂方法

    以下是一个简单的工厂方法模式示例: ```java // 抽象产品 public abstract class Vehicle { public abstract void run(); } // 具体产品 public class Car extends Vehicle { @Override public void run() { ...

    Java工厂模式:简单工厂、工厂方法模式、抽象工厂模式代码示例

    在Java中,工厂模式分为三种:简单工厂、工厂方法模式和抽象工厂模式。 **简单工厂模式** 是最基本的工厂模式,它由一个工厂类根据传入的参数决定创建哪一种产品类的实例。简单工厂容易实现,但违反开闭原则,即...

    java工厂方法模式

    同时,工厂方法模式也可以避免简单工厂模式的缺点,即当有新产品要加入到系统中时,必须对工厂类进行修改,以加入必要的处理逻辑。 工厂方法模式适合在如下场合中运用: * 当无法得知必须创建的对象属于哪个类的...

    工厂模式简单示例代码

    静态工厂模式不涉及继承,而是通过静态方法来创建对象。这种方式更简单,不需要创建工厂类的实例,直接调用静态方法即可创建对象。静态工厂模式通常用于返回已经存在的对象或者创建一些复杂对象,这些对象的创建过程...

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

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

    抽象工厂模式代码示例

    这个压缩包中的内容很可能是用Java语言编写的一系列示例代码,旨在帮助理解抽象工厂模式的工作原理。 抽象工厂模式的核心思想是将产品的创建过程抽象出来,形成一个工厂接口,然后针对不同的产品线,提供不同的具体...

    单例模式和工厂模式代码

    // 工厂方法模式示例 interface Shape { void draw(); } class Circle implements Shape { @Override public void draw() { System.out.println("Drawing a circle..."); } } class Square implements Shape ...

    工厂模式示例

    1. **简单工厂模式(Simple Factory)**:这是工厂模式的最直观形式,它通过一个公共的静态方法来创建对象,根据传入的参数决定返回哪个具体类型的实例。简单工厂模式适用于产品种类不多且相对固定的情况,但当产品...

    设计模式——工厂方法模式

    在这个压缩包中,`FactoryMethod`可能包含了Java实现工厂方法模式的源代码示例。 设计模式是一种在特定场景下解决软件设计问题的通用、可重用的解决方案,它代表了最佳实践,被广泛应用于各种编程语言中。工厂方法...

    工厂方法模式Demo

    在"工厂方法模式Demo"中,我们可以看到以下的示例结构: - 抽象产品(例如:AbstractVehicle):定义了车辆的基本行为,如启动(start)、停止(stop)等。 - 具体产品(例如:Car、Bike):分别实现了AbstractVehicle...

    常用的模式工厂设计模式

    ##### 5.2 抽象工厂模式示例 当项目需要创建多个相关的对象时,可以使用抽象工厂模式。例如,除了`Sample`接口外,我们还需要处理另一个接口`Sample2`及其实现类。 ```java public abstract class Factory { ...

    设计模式之工厂方法模式

    “FactoryMethod”可能是演示或示例代码的文件名,通常会包含一个或多个C#类,这些类展示了工厂方法模式的结构和用法。 ### 知识点详解: 1. **工厂方法模式的核心思想**:定义一个创建对象的接口,让子类决定实例...

    java设计模式示例

    创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型模式(11种):策略...

    工厂方法模式java实例demo

    在刘伟老师的《设计模式》一书中,他可能通过一个具体的示例解释了工厂方法模式的概念。这个例子可能涉及创建不同类型的对象,而无需暴露创建过程。通常,工厂方法模式包括以下组件: 1. **抽象产品(Abstract ...

    工厂方法模式和抽象工厂模式

    在给定的压缩包文件"factory"中,可能包含了一些关于工厂方法模式和抽象工厂模式的示例代码或者教程资料。通过研究这些文件,你可以更好地掌握这两种模式的实现细节,并将其应用于自己的项目中,提升代码的设计质量...

    工厂方法模式---实例

    在给定的“工厂方法模式---实例”中,我们可以推测这是一个关于如何实际应用工厂方法模式的示例。通常,这样的示例会包括以下关键组件: 1. **抽象工厂(Abstract Factory)**:这是工厂方法模式的核心接口,定义了...

Global site tag (gtag.js) - Google Analytics