欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式之工厂模式

程序员文章站 2024-01-21 14:23:34
...

main
==================================================================================
package com.factory.sym;

public class TestFactory {

/**
* @param args
* 简单工厂
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
FactoryI factory = new FactoryImpl();
ProductImpl1 productImpl1=(ProductImpl1) factory.creatproduct1();
ProductIpml2 productImpl2=(ProductIpml2) factory.creatproduct2();
productImpl1.productMethod();
productImpl2.productMethod();
}

}
简单工厂
==================================================================================
package com.factory.sym;

public interface FactoryI {
ProductI creatproduct1();
ProductI creatproduct2();
}
简单工厂实现
=================================================================================
package com.factory.sym;

public class FactoryImpl implements FactoryI {

@Override
public ProductI creatproduct1() {
// TODO Auto-generated method stub
return new ProductImpl1();
}

@Override
public ProductI creatproduct2() {
// TODO Auto-generated method stub
return new ProductIpml2();
}

}
产品接口
===============================================================================
package com.factory.sym;

public interface ProductI {
void productMethod();
}
产品一实现
================================================================================
package com.factory.sym;

public class ProductImpl1 implements ProductI {
ProductImpl1() {
}

@Override
public void productMethod() {
// TODO Auto-generated method stub
System.out.println("这是产品1");
}

}
产品二实现
================================================================================
package com.factory.sym;

public class ProductIpml2 implements ProductI {

public ProductIpml2() {
}

@Override
public void productMethod() {
// TODO Auto-generated method stub
System.out.println("这是产品2");
}

}
/*打印结果:这是产品1
这是产品2*/