当前位置:编程学习 > JAVA >>

设计模式之工厂设计模式-1

设计模式和语言没有关系,它是一种思想。
工厂设计模式稍微复杂一点点。
首先我们看下使用情况:我们常常在使用某些类的时候不能直接去new,而要通过一个factory的东东去new一下,这就是工厂设计模式。
还记得刚开始接触的时候觉得这是一个相当深奥的东东,但我带你们看一看,自己也写一个,这就很简单啦。
我们这里实现一个简单工厂
第一,我们要熟悉java中的那些面向对象的特性:封装和继承。
接下来先上代码再讲解吧
先写一个虚类
public abstract class Friend
{
public abstract void Speak();
}
}
在来定义2个子类 ,子类继承父类 
一个是朋友小红(女生哦):
public class Xiaohong:Friend
{
public override void Speak()
{
System.out.println("你是我的好朋友");
}
}
女朋友小丽
public class Xiaoli:Friend
{
public override void Speak()
{
System.out.println("你是我的");
}
}
在来定义一个工厂类
public class Factory
{
public static Friend CreateCar(string who)
{
Friend friend = null;
switch (who)
{
case "Xiaohong":
car = new Xiaohong();
break;
case "Xiaoli":
car = new Xiaoli();
break;
}
return friend;
}
因为代码相当简单,我就不加注释了。
在这里我们可以看到,我们传进去不同的参数,出来的东西也果断不一样,就像一个工厂,你放原料进去,出来你想要的产品,有木有。 www.zzzyk.com
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。例如许多类型对象的创造需要一系列的步骤:
 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况, 新对象的建立就是一个 “过程”,不仅是一个操作,像一部大机器中的一个齿轮传动。
你如何能轻松方便地建立这么" 复杂 " 的对象即操作中不需要粘贴复制呢?
 建立一个工厂(一个函数或一个类方法)来制造新的对象。为了理解工厂的用处, 试想以下的不同之处……明天我会继续贴上关于工厂设计模式的另外两种设计模式
 
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,