工厂模式

原创 2016年05月31日 20:06:07

                                                                                                              工厂模式

   

    在设计模式中,一个类代表另一个类的功能,这种类型的模式称为结构性模式。在代理模式中,我们创建具有对象的对象,以便向外界提供功能接口。

 我们一般会在什么地方会用到呢?我们明确地计划不同条件下创建爱不同实例时而实现的代码的关键就创建过程在其子类执行

   根据UML类图来实现这些代码:


  

 定义接口

public interface Shape {
 void draw();
}

public class Circle implements Shape{

	public void draw()
	{
		System.out.println("Inside Circle::draw() method.");
	}
}

public class Rectangle implements Shape{

	@Override
	public void draw() {
		// TODO Auto-generated method stub
		
		System.out.println("Inside Rectangele::draw() method.");
	}

}

public class Square implements Shape{

	@Override
	public void draw() {
		// TODO Auto-generated method stub
		
		System.out.println("Inside Square::draw() method.");
	}

}
public class ShapeFactory {

  public Shape getShape(String shapeType)
  { 
	   if(shapeType == null)
	   {
	     return null;
	   }
	   if(shapeType.equalsIgnoreCase("CIRCLE")){
		   return new Circle();
	   }
	   else if(shapeType.equalsIgnoreCase("RECTANGLE")){
		   return new Rectangle();
	   } 
	   else if(shapeType.equalsIgnoreCase("SQUARE")){
		   return new Square();
	   }
	    return null;
		  
  }
}

public class FactoryPatterDemo {
   public static void main(String[] args)
   {
	   ShapeFactory  shapeFactory = new ShapeFactory();
	   
	   //  获取 Circle
	   Shape shape1 = ((ShapeFactory) shapeFactory).getShape("CIRCLE");
	  shape1.draw();
	  
	  Shape shape2 = ((ShapeFactory) shapeFactory).getShape("RECTANGLE");
	  shape2.draw();
	  
	  Shape shape3 = ((ShapeFactory) shapeFactory).getShape("SQUARE");
	  shape3.draw();
	  
	  
   }
}



   

  运行结果:

  






 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

MVC工厂模式。

  • 2017-09-27 17:47
  • 21.94MB
  • 下载

c++ java 抽象工厂模式代码

  • 2016-12-31 19:20
  • 417KB
  • 下载

抽象工厂模式

``` // 抽象工厂模式 // 有多个抽象子产品接口,每个抽象子产品接口都可以扩展多个具体子产品类的实现 // 一个抽象工厂接口,可以扩展多个具体工厂类的实现,且每个具体工厂类能够创建多个具体子产品...

Java工厂模式的例子

  • 2017-01-14 13:47
  • 14KB
  • 下载

简单工厂模式--Java

简单工厂模式:由一个叫做工厂类的东西决定生产什么样的实例,你只要传递一个信息给工厂类,工厂类就知道应该生产什么样的产品。 工厂:生产具体产品的东西 产品:继承了一个基类或者接口,这个接口或基类抽象...

c++工厂模式

  • 2016-08-13 15:33
  • 9.60MB
  • 下载

工厂模式设计

  • 2016-05-26 17:23
  • 11KB
  • 下载

工厂模式三层

第一次接触工厂模式是在我最近开发的一个项目中,由于项目需求远超出预想,再加上去研究新技术,所以根本没有时间去琢磨项目开发中所用的框架。项目刚告一段落,花了点时间将项目的框架研究了下,以下我就说说自己的...

工厂模式简介和实例代码

  • 2016-11-17 17:58
  • 3.87MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)