工厂方法模式(常用)

2、 工厂方法模式(常用)

弊端:耦合分散到各个工厂中,类的数量过多,程序不易读
优势:遵循开闭原则
Automatic:

package com.neuedu.demo3.fac2;

public abstract class Automatic {

	public abstract void display();
}

AutomaticFactory:

package com.neuedu.demo3.fac2;

public abstract class AutomaticFactory {

	public abstract Automatic product();

}

Benz:

package com.neuedu.demo3.fac2;

public class Benz extends Automatic {

	@Override
	public void display() {
		System.out.println("奔驰");

	}

}

BenzFactory :

package com.neuedu.demo3.fac2;

public class BenzFactory extends AutomaticFactory{

	public Automatic product() {
	
		return new Benz();
	}

}

BMW :

package com.neuedu.demo3.fac2;

public class BMW extends Automatic {

	@Override
	public void display() {
		System.out.println("BWM");

	}

}

BMWFactory :

package com.neuedu.demo3.fac2;

public class BMWFactory extends AutomaticFactory{

	@Override
	public Automatic product() {
		// TODO 自动生成的方法存根
		return new BMW();
	}

}

Test :

package com.neuedu.demo3.fac2;

public class Test {

	public static void main(String[] args) {
		AutomaticFactory f1 = new BenzFactory();
		AutomaticFactory f2 = new BMWFactory();
		
		Automatic a = f1.product();
		Automatic b = f2.product();
		
		a.display();
		b.display();

	}

}

如果需要增加新的内容,直接创建新的类与方法类即可,对原有产品线不产生影响

猜你喜欢

转载自blog.csdn.net/ykallan/article/details/84777313