概述
继承简单工厂模式的优点,有弥补了他的缺点
暂时附上代码,以后慢慢完善
1.抽象产品类TV(电视机类)
package com.th.designedmodem;
public interface TV {
public void play();
}
2.具体产品类HaierTV(海尔电视机类)
package com.th.designedmodem;
public class HaierTV implements TV {
@Override
public void play() {
System.out.println("海尔电视机播放中。。。");
}
}
3.
具体产品类HisenseTV(海信电视机类)
package com.th.designedmodem;
public class HisenseTV implements TV {
@Override
public void play() {
System.out.println("海信电视机播放中。。。。");
}
}
4.抽象工厂类TVFactory(电视机工厂类)
package com.th.designedmodem;
public interface TVFactory {
public TV produceTV();
}
package com.th.designedmodem;
public class HaierTVFactory implements TVFactory {
@Override
public TV produceTV() {
System.out.println("海尔电视机工厂生产海尔电视机。。。。");
return new HaierTV();
}
}
package com.th.designedmodem;
public class HisenseTVFactory implements TVFactory {
@Override
public TV produceTV() {
System.out.println("海信电视机工厂生产海信电视机。。。。");
return new HisenseTV();
}
}
package com.th.designedmodem;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
public class XMLUtil {
public static Object getBean()
{
try
{
DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dFactory.newDocumentBuilder();
Document doc;
doc = builder.parse(new File("config.xml"));
NodeList nl = doc.getElementsByTagName("className");
Node classNode = nl.item(0).getFirstChild();
String cName = classNode.getNodeValue().trim();
Class c = Class.forName(cName);
Object obj = c.newInstance();
return obj;
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
}
}
package com.th.designedmodem;
public class Client {
public static void main(String[] args) {
try
{
TV tv;
TVFactory factory;
factory = (TVFactory) XMLUtil.getBean();
tv = factory.produceTV();
tv.play();
}
catch (Exception e)
{
System.out.println(e.getMessage());
System.out.println("heheda");
}
}
}
<?xml version="1.0" ?>
<config>
<className>
com.th.designedmodem.HaierTVFactory
</className>
</config>
最后
以上就是耍酷汽车为你收集整理的工厂方法模式的全部内容,希望文章能够帮你解决工厂方法模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复