路一步步走>> 设计模式一:AbstractFactory-抽象工厂

版权声明:本文为博主原创文章,未经博主允许不得转载。个人公众号:百草疯茂 https://blog.csdn.net/wang_pengyu/article/details/84873156

1. 还是自己打打代码容易理解。

2. 把概念抽象为类,一个不够,再加一个,再加一个,再加... 

3. 学习设计模式,先着手创建型模式,然后行为模式,再然后结构型模式。由简入繁,不容易枯燥放弃。

package com.test.DPs.ChuangJian.AbstractFactory;

/**
 * 创建型:AbstractFactory-抽象工厂
 * 
 * 注:virtual关键字并不在java中出现,java中默认实现了自动绑定机制。
 *    如果混淆,只需理解:virtual和abstract,一个用于多态,第一个用于继承
 */
interface food{}	
interface produce {food get();}

class A implements food{}
class B implements food{}

class FactoryForA implements produce{
	@Override
	public food get(){
		return new A();
	}
}
class FactoryForB implements produce{
	@Override
	public food get(){
		return new B();
	}
}

/**
 * 抽象工厂
 * 用途:提供以一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
 * 优点:轻松添加新类,无需修改原代码。
 * 
 * 理解:
 * 工厂:生产+产品
 */
public class AbstractFactory{
	public void ClientCode(String name){
		food x = new FactoryForA().get();
		x = new FactoryForB().get();
	}
}

猜你喜欢

转载自blog.csdn.net/wang_pengyu/article/details/84873156