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

设计模式和语言没有关系,它是一种思想。

工厂设计模式稍微复杂一点点。

首先我们看下使用情况:我们常常在使用某些类的时候不能直接去new,而要通过一个factory的东东去new一下,这就是工厂设计模式。

还记得刚开始接触的时候觉得这是一个相当深奥的东东,但我带你们看一看,自己也写一个,这就很简单啦。

我们这里实现一个简单工厂

第一,我们要熟悉java中的那些面向对象的特性:封装和继承。

接下来先上代码再讲解吧

先写一个虚类

publicabstractclass Friend
{
publicabstractvoid Speak();
}
}

在来定义2个子类,子类继承父类

一个是朋友小红(女生哦):

publicclass Xiaohong:Friend
{
publicoverridevoid Speak()
{
System.out.println("你是我的好朋友");
}
}

女朋友小丽
publicclass Xiaoli:Friend
{
publicoverridevoid Speak()
{
System.out.println("你是我的");
}
}

在来定义一个工厂类

publicclassFactory
{
publicstatic Friend CreateCar(string who)
{
Friend friend =null;
switch(who)
{
case"Xiaohong":
car=new Xiaohong();
break;
case"Xiaoli":
car=new Xiaoli();
break;
}
return friend;
}

因为代码相当简单,我就不加注释了。

在这里我们可以看到,我们传进去不同的参数,出来的东西也果断不一样,就像一个工厂,你放原料进去,出来你想要的产品,有木有。

在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。例如许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况, 新对象的建立就是一个 “过程”,不仅是一个操作,像一部大机器中的一个齿轮传动。

你如何能轻松方便地建立这么" 复杂 " 的对象即操作中不需要粘贴复制呢?
 建立一个工厂(一个函数或一个类方法)来制造新的对象。为了理解工厂的用处, 试想以下的不同之处……明天我会继续贴上关于工厂设计模式的另外两种设计模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值