package factoryMethod;
public interface Mobile {
public void call();
}
public class Motorola implements Mobile {
public void call() {
System.out.println("Motorola produced");
}
}
public class Nokia implements Mobile {
public void call() {
System.out.println("Nokia produced");
}
}
public interface MobileFactory {
public Mobile produceMobile();
}
public class MotorolaFactory implements MobileFactory {
public Mobile produceMobile(){
return new Motorola();
}
}
public class NokiaFactory implements MobileFactory{
public Mobile produceMobile(){
return new Nokia();
}
}
public class Client {
public static void main(String args[]){
MobileFactory mf = new MotorolaFactory();
Mobile mb = mf.produceMobile();
mb.call();
mf = new NokiaFactory();
mb = mf.produceMobile();
mb.call();
}
}
运行结果:
Motorola produced
Nokia produced
A factory method can be defined as a method in a class that:
(1)Selects an appropriate class from a class hierarchy based on the application context and other influencing factors
(2)Instantiates the selected class and returns it as an instance of the parent class type
分享到:
相关推荐
工厂方法模式(Factory Method) 原型模式(Prototype) 单件模式(Singleton) 结构型: 适配器模式(Adapter) 桥接模式(Bridge) 组合模式(Composite) 装饰者模式(Decorator) 外观模式(Facade) 蝇量模式(Flyweight) 代理...
《设计模式中的工厂方法》 设计模式是软件开发中的一种...总的来说,工厂方法模式在设计模式中占有重要地位,尤其在需要灵活创建多种类型对象的场景下。理解并正确运用工厂方法,能够提升软件的可维护性和可扩展性。
本文将深入探讨工厂方法模式(Factory Method Pattern)与抽象工厂模式(Abstract Factory Pattern),并结合给定文件中的实例进行详细解析。 ### 工厂方法模式(Factory Method Pattern) 工厂方法模式是一种创建...
1. **创建型模式**(Creational Patterns):这类模式主要关注对象的创建过程,包括单例模式(Singleton)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式...
工厂方法模式(Factory Method Pattern)是设计模式中的创建型模式之一,主要解决对象创建过程中的复杂性问题。在软件工程中,当一个类不知道它所必须创建的对象的类的时候,它就不会实例化对象,而是使用一个工厂...
2. **工厂方法模式(Factory Method Pattern)**:定义一个创建对象的接口,让子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。在C++中,这可能表现为一个抽象基类(接口)定义了一个纯虚函数,每个具体的...
创建型模式涉及对象的创建,如单例(Singleton)、工厂方法(Factory Method)和建造者(Builder);结构型模式关注如何组合对象和类以形成更大的结构,例如适配器(Adapter)、装饰器(Decorator)和代理(Proxy)...
创建型设计模式关注对象的创建过程,如单例模式(Singleton)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。这些模式帮助开发者在不指定...
在“DesignPattern_FactoryMethodPattern”这个压缩包中,我们可以预期找到以下组成部分: 1. **抽象工厂(AbstractFactory)**:这是一个协议或抽象类,定义了创建对象的接口。在Objective-C中,通常会用到`@...
在实际开发中,我们还可以考虑使用其他类型的工厂模式,如工厂方法模式(Factory Method Pattern)和抽象工厂模式(Abstract Factory Pattern),以适应更复杂的场景。工厂方法模式允许子类决定实例化哪一个产品类,...
1. 创建型设计模式:如单例模式(Singleton)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。这些模式主要关注对象的创建过程,帮助我们控制...
8. 模板方法模式(Template Method): 模板方法模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。`TemplateMethodExample`展示了如何通过定义模板方法来确保某些步骤的执行顺序,同时允许子类重写具体...
3. 行为型模式:这些模式关注对象之间的交互和职责分配,如策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、命令模式(Command)、迭代器模式(Iterator)、访问者模式(Visitor)...
- 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。 - 抽象工厂模式(Abstract Factory):提供一个接口,用于创建相关或依赖对象的家族,而无需指定具体类。 - 建造者...
- **模板方法模式(Template Method)**:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。 - **访问者模式(Visitor)**:表示一个作用于某对象结构中的各元素的操作。 #### 三、超出了GoF的设计模式 除了...
创建型模式关注对象的创建,如单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。这些模式帮助我们控制实例化过程,使代码更具灵活性和可扩展性。 结构型模式涉及到如何组合类和对象...
14. **模板方法模式(Template Method)**:在一个方法中定义一个算法的框架,允许子类重新定义该算法的某些特定步骤。在C++中,基类可以声明虚函数并在其中实现算法的基本框架,子类重写这些虚函数以完成具体步骤。...
Factory Method Pattern 工厂三兄弟之工厂方法模式(一) 工厂三兄弟之工厂方法模式(二) 工厂三兄弟之工厂方法模式(三) 工厂三兄弟之工厂方法模式(四) 抽象工厂模式-Abstract Factory Pattern 工厂三兄弟之...
创建型模式关注对象的创建,如单例模式(Singleton)、工厂模式(Factory Method)和抽象工厂模式(Abstract Factory)等;结构型模式处理对象组合和继承,如适配器模式(Adapter)、装饰器模式(Decorator)和代理...