简单的工厂模式 拥有三个角色
1 工厂角色
是简单工厂模式的核心,主要负责创建所有实例的内部逻辑
2 抽象产品角色
是简单工厂模式所创建的所有对象的父类,主要负责描述所有实例所共有的公共接口
3 具体产品角色
是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例
应用情景
1 工厂类负责创建的对象比较少
2 客户之知道传人工人类的参数,对于任何创建对象不关心
3 一般只在比较简单的情况下使用
定义: 专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式
又称为静态工厂方法模式,属于类的创建型模式,通常它根据自变量的不同返回不同的类的实例。
抽象产品角色
package www.libinxuan.Mobile;
/**
* 抽象产品角色
* @author Administrator
*
*/
public interface Mobile {
public void creatMobile();
}
工厂角色
package www.libinxuan.Mobile;
/**
* 工厂角色
* @author Administrator
*
*/
public class MobileFactory {
public Mobile getMobile(String title) throws Exception{
if(title.equalsIgnoreCase("nokia")){
return new Nokia();
}
if(title.equalsIgnoreCase("motorola")){
return new Motorola();
} else{
throw new Exception("no such" + title + "mobile found");
}
}
}
具体产品角色
package www.libinxuan.Mobile;
/**
* 具体产品角色
* @author Administrator
*
*/
public class Motorola implements Mobile {
@Override
public void creatMobile() {
System.out.println("一部Motorola手机生成了");
}
}
package www.libinxuan.Mobile;
/**
* 具体产品角色
* @author Administrator
*
*/
public class Nokia implements Mobile {
@Override
public void creatMobile() {
System.out.println("一部Nokia手机生成了");
}
}
测试
package www.libinxuan.Mobile;
public class Client {
public static void main(String[] args){
try{
MobileFactory mf = new MobileFactory();
Mobile m;
m = mf.getMobile("nokia");
m.creatMobile();
m = mf.getMobile("motorola");
m.creatMobile();
m = mf.getMobile("sdsd");
m.creatMobile();
}catch(Exception e){
e.printStackTrace();
}
}
}
分享到:
相关推荐
简单工厂(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常它根据自变量的不同返回不同的类的实例。 简单工厂模式的实质是由一个工厂类根据传入的参量,动态决定...
简单工厂模式(Simple Factory Pattern)是工厂方法模式的一个简化版本,它没有定义工厂接口,只有一个具体工厂类负责创建所有对象。简单工厂模式适用于产品种类较少,且不会频繁改变的情况。 在实际应用中,工厂...
简单工厂模式(Simple Factory)是一种基本的工厂模式,它使用一个工厂对象来创建同一类对象的实例。例如,在开发一个公司岗位及其工作内容的录入信息系统时,可以使用简单工厂模式来创建不同岗位的对象实例。 工厂...
1、简单工厂模式(Simple Factory Pattern): 简单工厂模式通过一个工厂类来决定创建哪种具体类的实例。这个工厂类通常提供一个静态方法,根据传入的参数创建相应的对象。 2、工厂方法模式(Factory Method ...
在我们的“simplefactory.zip”文件中,我们可以看到一个简单的工厂模式实现示例。这个例子可能包括以下几个部分: - 一个接口,例如`Product`,定义了产品类的基本行为。 - 若干个实现`Product`接口的具体产品类,...
总的来说,这个"calculator-of-Simple-Factory-Pattern.rar_factory"项目展示了如何运用简单工厂模式来构建一个计算器系统,使得系统能够根据不同的计算需求动态地创建相应的计算器对象,同时也为未来的功能扩展打下...
简单工厂模式(Simple Factory Pattern)是一种设计模式,属于创建型模式,它提供了一种创建对象的最佳方式。在简单工厂模式中,当一个类不知道它所必须创建的对象的类的时候,它会将这个任务委托给一个工厂对象。在...
简单工厂模式(Simple Factory Pattern)是一种静态工厂方法,它通过一个公共的工厂类来创建对象。这个工厂类通常包含一个或多个静态方法,用于根据输入参数创建不同类型的实例。这种模式的优点在于客户端代码无需...
简单工厂模式(Simple Factory Pattern) .net简单工厂模式实例源代码
本资料来源于吕震宇博客,欢迎访问 ...经过整理,方便大家阅读。...C#设计模式(4)-Simple Factory Pattern C#设计模式(3) - 设计原则(2) C#设计模式(2) - 设计原则(1) C#设计模式(1) - 面向对象基本概念复习
java设计模式 简单工厂模式详解 simple factory static pattern
1. **简单工厂模式(Simple Factory Pattern)**:它包含一个工厂类,根据输入参数决定创建哪种类型的对象。在VS2019工程中,可能有一个静态方法或函数,根据输入条件返回不同的产品实例。 2. **工厂方法模式...
1. 简单工厂模式(Simple Factory Pattern) 简单工厂模式是工厂模式的最基础形式,通过一个公共的工厂类来创建对象。这个工厂类通常包含一个静态方法,可以根据传入的参数来决定创建哪个类的实例。这种模式适用于...
首先,我们来看一下“简单工厂模式”(Simple Factory Pattern)。这种模式的核心思想是提供一个工厂类,负责根据输入条件创建具体的产品对象。在这个例子中,"pre1"可能是原始的、未使用设计模式的代码,可能直接...
Simple Factory Pattern 工厂角色:是简单工厂的核心,他负责实现创建所有实例内部逻辑.工厂类可以被外界直接调用,创建所需的产品对象 抽象产品角色:是简单工厂模式所创建的所有对象父类,他负责描述所有实例所共有的...
它们都是由不同的厂家生产的,这就是工厂方法模式(FactoryMethod)与前面所说的简单工厂模式(SimpleFactory)的差别。 实例: 多文档系统。我已经用C#的源码编程了:请下载Factory Method Patter.rar
1. **简单工厂模式(Simple Factory Pattern)**:由一个静态方法来创建产品对象,它是最简单的工厂模式形式,但不利于扩展,因为静态方法不能被继承。 2. **工厂方法模式(Factory Method Pattern)**:定义一个...
首先,我们来看简单工厂模式(Simple Factory Pattern)。它是一个类的工厂,负责创建对象,客户通过调用工厂类的静态方法来获取所需的对象,而无需知道具体创建的对象类型。这种模式的主要优点是将对象的创建与使用...
简单工厂模式(Simple Factory Pattern)是一种静态工厂模式,它提供一个公共的工厂类来创建对象,这个工厂类根据传入的参数或者特定条件来决定创建哪种类型的实例。这种模式中,工厂类通常是单例的,负责生产一系列...