版权声明:本文为博主原创文章,未经博主允许不得转载。个人公众号:百草疯茂 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();
}
}