工厂模式

工厂模式(Factory Pattern)是创建型模式的一种,在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*
* Copyright,ShanNong Inc,2018 and onwards
*
* Author:fanghua fan
*/

package com.fanghua.designpattrn.factory;

/**
* 工厂模式
*/
public class Factory {
/**
* 工厂中获取指定对象
*
* @param name
* @return
*/
public static Math getInstance(Instance name) {
Math object;
switch (name) {
case ANALYSIS:
object = new Analysis();
break;
case CALCULUE:
object = new Calculue();
break;
default:
object = null;
}
return object;
}

public static void main(String[] args) {
// 数学分析
Factory.getInstance(Instance.ANALYSIS).study();
// 微积分
Factory.getInstance(Instance.CALCULUE).study();
}
}


/**
* 数学类
*/
interface Math {
void study();

String getName();
}

/**
* 微积分
*/
class Calculue implements Math {
public void study() {
System.out.println("print out calculue!");
}

public String getName() {
return "calculue";
}
}

/**
* 数学分析
*/
class Analysis implements Math {
public void study() {
System.out.println("print out analysis!");
}

public String getName() {
return "analysis";
}
}

/**
* 实例枚举
*/
enum Instance {
CALCULUE,// 微积分
ANALYSIS // 数学分析
}

(全文完)4/1/2018 9:55:45 PM