Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 680273e

Browse files
author
deeper
committed
add abstract_factory
1 parent 9655166 commit 680273e

File tree

10 files changed

+118
-0
lines changed

10 files changed

+118
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public class Demo {
4+
5+
public static void main(String[] args) {
6+
Factory factory1 = new Q1Factory();
7+
IEngine engine1 = factory1.createIEngine();
8+
ITire iTire1 = factory1.createTire();
9+
engine1.engine();
10+
iTire1.tire();
11+
12+
System.out.println("\r\n");
13+
14+
Factory factory7 = new Q7Factory();
15+
IEngine engine7 = factory7.createIEngine();
16+
ITire iTire7 = factory7.createTire();
17+
engine7.engine();
18+
iTire7.tire();
19+
20+
}
21+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public interface Factory {
4+
/**
5+
* 生产轮胎
6+
*
7+
* @return
8+
*/
9+
ITire createTire();
10+
/**
11+
* 生产发动机
12+
*
13+
* @return 轮胎
14+
*/
15+
IEngine createIEngine();
16+
17+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public interface IEngine {
4+
void engine(); // 发动机
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public interface ITire {
4+
void tire(); // 轮胎
5+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public class NormalEngine implements IEngine{
4+
5+
@Override
6+
public void engine() {
7+
System.out.println("[tag:factory] 生产==>普通引擎");
8+
}
9+
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public class NormalTire implements ITire{
4+
5+
@Override
6+
public void tire() {
7+
System.out.println("[tag:factory] 生产==>普通轮胎");
8+
}
9+
10+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public class Q1Factory implements Factory{
4+
5+
@Override
6+
public ITire createTire() {
7+
return new NormalTire();
8+
}
9+
10+
@Override
11+
public IEngine createIEngine() {
12+
return new VipEngine();
13+
}
14+
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public class Q7Factory implements Factory{
4+
5+
@Override
6+
public ITire createTire() {
7+
return new VipTire();
8+
}
9+
10+
@Override
11+
public IEngine createIEngine() {
12+
return new VipEngine();
13+
}
14+
15+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public class VipEngine implements IEngine{
4+
5+
@Override
6+
public void engine() {
7+
System.out.println("[tag:factory] 生产==>Vip引擎");
8+
}
9+
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.ruoxu.pattern.abstract_factory;
2+
3+
public class VipTire implements ITire{
4+
5+
@Override
6+
public void tire() {
7+
System.out.println("[tag:factory] 生产==>Vip轮胎");
8+
}
9+
10+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /