采用抽象工厂模式设计出的系统类图:
package com.test01;
public interface Creator {
/**
* 产品等级结构A的工厂方法
* @return
*/
public ProudctA factoryA();
/**
* 产品等级结构B的工厂方法
* @return
*/
public ProudctB factoryB();
}
package com.test01;
public class ConcreteCreator1 implements Creator{
/**
* 产品等级结构A的工厂方法
*/
@Override
public ProudctA factoryA() {
return new ProductA1();
}
/**
* 产品等级结构B的工厂方法
*/
@Override
public ProudctB factoryB() {
return new ProudctB1();
}
}
package com.test01;
public class ConcreteCreator2 implements Creator{
/**
* 产品等级结构A的工厂方法
*/
@Override
public ProudctA factoryA() {
return new ProductA1();
}
/**
* 产品等级结构B的工厂方法
*/
@Override
public ProudctB factoryB() {
return new ProudctB1();
}
}
package com.test01;
public interface ProudctA {
}
package com.test01;
public interface ProudctB {
}
package com.test01;
public class ProductA1 implements ProudctA {
public ProductA1() {
}
}
package com.test01;
public class ProductA2 implements ProudctA{
public ProductA2() {
super();
}
}
package com.test01;
public class ProudctB1 implements ProudctB{
public ProudctB1() {
super();
}
}
package com.test01;
public class ProudctB2 implements ProudctB{
public ProudctB2() {
super();
}
}