java 开发中的23种设计模式

设计模式是一套被反复使用,多数人知晓,经过分类编目的,代码设计经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解。保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的。设计模式使代码编制真正工程化,设计模式使软件设计的基石,如同大厦的一块块砖石一样。项目中合理的运用模式可以完美的解决很多问题。

一.设计模式的分类

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

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

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

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

下面开始正文:

1.工厂方法模式(Factory Method)

工厂方法模式分为三种:

1.1普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建:

我们举一个发送邮件和短信的例子

public interface Sender{

  public void Send();

}

其次,创建实现类:(java 中 implements 用于实现接口;extends 用于实现继承)

public class MailSender implements Sender{

  @Override

  public void Send(){

    System.out.println("this is mailsender");

  }

}

public class SmsSender implements Sender{

  public void Send(){

    System.out.println("this is sms sender");

  }

}

//最后,建工厂类

public class SendFactory{

  public Sender produce(String type){

    if("mail".equals(type)){

      return new MailSender();

    }else if("sms".equals(type)){

      return new SmsSender();

    }else{

        System.out.println("请输入正确的类型!");

        return null;

      }

  }

}

我们来测试一下:

public class FactoryTest{

  public static void main(String[] args)

  {

     SendFactory factory=new SendFactory();

     Sender sender=factory.produce("sms");

     sender.Send();

  }

}

 

posted on 2017-05-17 09:00  静刚  阅读(106)  评论(0编辑  收藏  举报