Skip to content

Commit ea2001b

Browse files
committed
设计模式之Factory系列,FactoryMethod, AbstractFactory,以及spring bean工厂开头
1 parent 9b8baeb commit ea2001b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+497
-23
lines changed

src/com/mashibing/strategy/Comparator.java

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.mashibing.dp.abstractfactory;
2+
3+
public class AK47 extends Weapon{
4+
public void shoot() {
5+
System.out.println("tututututu....");
6+
}
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.mashibing.dp.abstractfactory;
2+
3+
public abstract class AbastractFactory {
4+
abstract Food createFood();
5+
abstract Vehicle createVehicle();
6+
abstract Weapon createWeapon();
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.mashibing.dp.abstractfactory;
2+
3+
public class Bread extends Food{
4+
public void printName() {
5+
System.out.println("wdm");
6+
}
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.mashibing.dp.abstractfactory;
2+
3+
public class Broom extends Vehicle{
4+
public void go() {
5+
System.out.println("Car go wuwuwuwuw....");
6+
}
7+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.mashibing.dp.abstractfactory;
2+
3+
public class Car extends Vehicle{
4+
5+
public void go() {
6+
System.out.println("Car go wuwuwuwuw....");
7+
}
8+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.mashibing.dp.abstractfactory;
2+
3+
public abstract class Food {
4+
abstract void printName();
5+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.mashibing.dp.abstractfactory;
2+
3+
public class MagicFactory extends AbastractFactory {
4+
@Override
5+
Food createFood() {
6+
return new MushRoom();
7+
}
8+
9+
@Override
10+
Vehicle createVehicle() {
11+
return new Broom();
12+
}
13+
14+
@Override
15+
Weapon createWeapon() {
16+
return new MagicStick();
17+
}
18+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.mashibing.dp.abstractfactory;
2+
3+
public class MagicStick extends Weapon{
4+
public void shoot() {
5+
System.out.println("diandian....");
6+
}
7+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.mashibing.dp.abstractfactory;
2+
3+
public class Main {
4+
public static void main(String[] args) {
5+
AbastractFactory f = new ModernFactory();
6+
7+
Vehicle c = f.createVehicle();
8+
c.go();
9+
Weapon w = f.createWeapon();
10+
w.shoot();
11+
Food b = f.createFood();
12+
b.printName();
13+
}
14+
}

0 commit comments

Comments
 (0)