您的位置:首页 > 编程语言 > Java开发

Java 常用的设计模式-工厂模式

2017-05-09 22:10 197 查看
总体来说设计模式分为三大类:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

设计模式 是前辈们对特定场景特定业务的经典总结,框架中所用甚多,但实际开发中用到的却不是很多,今天总结一下常用的几个

比较常用的是:工厂模式、单列模式、、适配器模式、代理模式、模板方法模式

一:工厂模式

工厂模式的产生的意义:用工厂(袜子) 生产具有相同接口(功能)的 对象(具体袜子),外边的销售商想要袜子不用自己造,直接去厂家哪里去批发,如果袜子有质量问题,不用去找销售商 (数量繁多麻烦)而去找生产此袜子的工厂(从根源解决问题);

第一种:简单的工厂模式

直接上代码

第一步:定义接口-定义功能规范(表示厂家 生产此类的东西)

package com.desionmodel.creater.factory;

/**
* 定义:发送接口
* 发邮件与发短信
* @author zhang
*
*/
public interface Sender {
public void Send();
}
第二步:实现此接口 -多肽化

package com.desionmodel.creater.factory;

/**
* 短信 实现类
* @author Administrator
*
*/
public class SmsSender implements Sender{

@Override
public void Send() {
System.out.println("this is sms sender!");
}

}

package com.desionmodel.creater.factory;

/**
* 邮件 实现类
*  重写 发送方法
* @author Administrator
*
*/
public class MailSender implements Sender{

@Override
public void Send() {
System.out.println("this is mailsender!");
}

}


第三步:建厂子(我们厂子 生产 可以发送功能的东西-欢迎各大销售商来订购)

package com.desionmodel.creater.factory;

/**
* 生成 工厂类
* 判断 类型,返回 实例
* @author Administrator
*
*/
public class SendFactory {

public static Sender produceMail2(){
return new MailSender();
}

public static Sender produceSms2(){
return new SmsSender();
}
}


第四步:销售商来了(测试)

package com.desionmodel.creater.factory;
/**
* 测试类  进行测试普通 工厂模式
* @author Administrator
*
*/
public class FactoryTest {
public static void main(String[] args) {
Sender mail = SendFactory.produceMail2();
Sender sms = SendFactory.produceSms2();

mail.Send();
sms.Send();
}
}

console:
this is mailsender!
this is sms sender!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息