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!
相关文章推荐
- Java常用设计模式(一)——工厂模式
- Java开发中常用的设计模式(一)---工厂模式
- Java常用设计模式详解(一)---工厂模式
- java 常用设计模式(工厂设计模式)
- JAVA常用设计模式总结(单例,工厂,抽象工厂)
- 六种常用的设计模式java实现(一)工厂模式
- JAVA常用设计模式(2)工厂模式
- 常用Java设计模式系列(5)- 简单工厂、工厂方法模式和抽象工厂模式
- Java常用设计模式详解(一)---工厂模式
- Java 中常用的设计模式?说明工厂模式?
- Java常用设计模式之工厂模式(Factory)
- Java技术常用设计模式(四)--- 工厂模式
- Java常用的设计模式02:常用设计模式之工厂模式(创建型模式)
- Java工厂设计模式论文
- Java设计模式(一)设计模式的原则、工厂方法和抽象工厂
- [零基础学JAVA]Java SE应用部分-36.反射机制与工厂设计模式 推荐
- java中的设计模式 工厂 和抽象工厂模式 的例子
- java设计模式之工厂模式(Factory)
- Java 可复用的面向对象的设计模式之 工厂模式Factory详解 :简单工厂模式 工厂方法模式 抽象工厂模式
- JAVA设计模式学习之----创建模式:工厂模式(工厂方法)