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

来源:互联网 发布:依云软件官网 编辑:程序博客网 时间:2024/05/20 07:32

总体来说设计模式分为三大类:

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

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

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


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

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

一:工厂模式

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

第一种:简单的工厂模式

直接上代码

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

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{@Overridepublic void Send() {System.out.println("this is sms sender!");}}

package com.desionmodel.creater.factory;/** * 邮件 实现类  *  重写 发送方法 * @author Administrator * */public class MailSender implements Sender{@Overridepublic 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!




1 0
原创粉丝点击