`
hm4123660
  • 浏览: 283515 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Dea4ce76-f328-3ab2-b24a-fb268e1eeb75
数据结构
浏览量:70315
社区版块
存档分类
最新评论

简单工厂设计模式

阅读更多

       简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式。是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

      简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。

没有工厂模式时创建对象如下:

package com.longpo;

public class Factory {

	public static void main(String[] args) {
		
		//没工厂时创建对象
		shoes ok=new shoes();
		ok.desc();
		
		clothes ok1=new clothes();
		ok1.desc();

	}

}

class shoes{
	
	public void desc()
	{
		System.out.println("我是一对阿迪达斯篮球鞋");
	}
}

class clothes{
	public void desc()
	{
		System.out.println("我是一件安踏运动服");
	}
}

 

    此时是直接依赖关系,当被调用者发生变化时,会直接影响调用者,耦合性太高,使用工厂模式,能降低耦合性

 

引入工厂模式,由工厂来决定创建对象实例,降低耦合度。

package com.longpo;

public class Factory {

	public static void main(String[] args) {
		
		//工厂根据需求创建对象
		goods shoesGoods=myFactory.getInstance("shoes");
		if(shoesGoods!=null)
			shoesGoods.desc();
		goods clotherGoods=myFactory.getInstance("clothes");
		if(clotherGoods!=null)
			clotherGoods.desc();

	}

}
//抽象出公共接口
interface goods{
	public void desc();
}
//工厂类
class myFactory {
	//负责创建实例对象
	public static goods getInstance(String type)
	{
		if(type.equals("shoes"))
		{
			return new shoes();
		}
		else if(type.equals("clothes"))
		{
			return new clothes();
		}
		return null;
	}
	
}
//实现接口
class shoes implements goods{
	
	public void desc()
	{
		System.out.println("我是一对阿迪达斯篮球鞋");
	}
}
//实现接口
class clothes implements goods{
	public void desc()
	{
		System.out.println("我是一件安踏运动服");
	}
}

 

 

 

 

 

4
0
分享到:
评论

相关推荐

    ios 简单工厂设计模式

    简单工厂设计模式是其中一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这个接口就像一个工厂,根据输入条件生产不同类型的实例。 简单工厂模式的核心在于一个“工厂”类,这个类...

    简单工厂设计模式小例子

    简单工厂设计模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在这个模式中,一个工厂类负责创建对象,而客户端代码不再需要知道具体创建的对象类型,只需要知道它是从工厂来的。这种模式的主要优点是...

    简单工厂设计模式实现的计算器

    简单工厂设计模式是一种常用的设计模式,它在软件工程中用于创建对象,特别是在需要根据特定条件创建不同类的对象时。在这个实现的计算器项目中,我们利用了简单工厂模式,结合了面向对象编程的三大特性——继承、...

    C#计算器 简单工厂设计模式

    简单工厂设计模式是一种常用的设计模式,它在C#编程中被广泛应用,特别是在创建对象时需要根据条件选择不同类型的实例时。在这个"计算器"项目中,我们可能会看到如何使用这种模式来构建不同类型的计算器,比如基本的...

    简单工厂设计模式源码

    简单工厂设计模式是一种在软件设计中广泛使用的创建型设计模式,它的主要目的是为了提供一个统一的接口,用于创建一组相关的或相互依赖的对象,而无需指定它们的具体类。在这个模式中,一个专门的工厂类负责根据输入...

    面向对象技术-简单工厂设计模式

    简单工厂设计模式是这些模式中的一种基础模式,常用于创建对象时,特别是当系统需要根据某些条件动态决定创建哪种类型的实例时。 简单工厂模式的核心思想是通过一个公共的工厂类来负责对象的创建,而不是让客户端...

    简单工厂设计模式1

    简单工厂设计模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪个类。这种模式使代码能够绕过复杂的实例化逻辑,转而使用一个简单的工厂方法来创建对象。在本示例"简单工厂设计模式1...

    operation 简易四则运算器 java项目 简单工厂设计模式

    在本Java项目中,"operation 简易四则运算器"是一个基于简单工厂设计模式实现的计算工具,旨在帮助用户进行基本的加减乘除运算。该项目充分体现了面向对象编程的思想,通过封装、继承和多态性来提高代码的可读性和可...

    C#工厂设计模式简单实例

    C#工厂设计模式简单实例——计算器 public class Factory { //创建一个静态方法 public static Operation CreateOper(int a, int b, string oper) { //创建一个Operation对象 Operation op = null; switch ...

    简单工厂设计模式2

    简单工厂设计模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这种模式使代码可以根据输入参数的不同来创建不同的对象,而无需暴露具体的创建逻辑。在“简单工厂2”这个程序...

    C#源代码-简单工厂设计模式练习.zip

    简单工厂设计模式是设计模式的一种,它提供了一种创建对象的最佳方式,尤其适用于那些对象创建过程较为简单的场景。在这个"C#源代码-简单工厂设计模式练习"中,我们可以深入理解如何在C#中实现这个模式。 简单工厂...

    java简单工厂设计模式.docx

    Java中的简单工厂设计模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这种模式将实例化的责任集中在一个类中,即工厂类,而不是分散到各个客户端代码中。以下是对这个模式的...

    C#源代码-简单工厂设计模式之计算器练习.zip

    简单工厂设计模式是创建型设计模式的一种,用于将对象的创建过程封装起来,使得客户端代码无需关心具体对象的创建细节,只需通过一个公共接口来获取所需对象。在这个"C#源代码-简单工厂设计模式之计算器练习"中,...

    工厂设计模式代码

    工厂设计模式是软件工程中广泛使用的一种创建型设计模式,它的主要目的是为了隔离对象的创建过程,使得客户端代码不直接创建对象,而是通过一个专门的工厂类来负责对象的实例化。这种模式使得系统在面对产品扩展时...

    工厂设计模式简单实例

    在这个名为"工厂设计模式简单实例"的资料中,我们可以期待看到一个基础的工厂模式实现。 工厂模式的核心思想是定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。这样,客户端在使用时无须知道...

    设计模式简单工厂

    简单工厂设计模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在简单工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是通过一个公共接口来指向新创建的对象。这种方式有助于我们将对象的...

Global site tag (gtag.js) - Google Analytics