Java 23种设计模式之简单工厂模式详解

来源:互联网 发布:弱电网络系统图 编辑:程序博客网 时间:2024/05/16 01:24

一、设计模式的分类

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

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

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

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

其实还有两类:并发型模式和线程池模式:

第一章:简单工厂模式

首先我们来探讨一下,什么是简单工厂模式?

答案:简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。大家可以这样理解:其实就是创建一个类专门来给其他类进行实例化的,由于是由同一个类实例化的,所以通常都具有共同的父类。

代码如何实现如下:

首先创建一个水果类接口:Fruit.java

public interface Fruit {
/*
* 采集
*/
public void get();
}

然后创建苹果类,实现水果接口类 Apple.java

public class Apple implements Fruit{
/*
* 采集
*/
public void get(){
System.out.println("采集苹果");
}
}

再次创建香蕉类,实现水果接口类 Banana.java

public class Banana implements Fruit{
/*
* 采集
*/
public void get(){
System.out.println("采集香蕉");
}
}

建立水果工厂类 FruitFactory.java

public class FruitFactory {
/*
* get方法,获得所有产品对象
*/
public static Fruit getFruit(String type) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
if(type.equalsIgnoreCase("apple")) {
return Apple.class.newInstance();
} else if(type.equalsIgnoreCase("banana")) {
return Banana.class.newInstance();
} else {
System.out.println("找不到相应的实例化类");
return null;
}
Class fruit = Class.forName(type);
return (Fruit) fruit.newInstance();
}
}

最后新建一个程序入口类 MainClass.java

public class MainClass {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {


Fruit apple = FruitFactory.getFruit("Apple");
Fruit banana = FruitFactory.getFruit("Banana");
apple.get();
banana.get();

}
}

以上程序就结束了。

下周我会为大家讲解第二章:抽象工厂模式!

0 0
原创粉丝点击