java工厂类代码 JAVA工厂

Java 工厂模式

interface Fruit { // 定义一个水果接口

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网页空间、营销软件、网站建设、德安网站维护、网站推广。

public void eat(); // 吃水果

}

class Apple implements Fruit {

public void eat() {

System.out.println("** 吃苹果。");

}

};

class Orange implements Fruit {

public void eat() {

System.out.println("** 吃橘子。");

}

};

class Factory { // 定义工厂类

private static Factory factory;

private Factory(){}

public static Factory getInstance() {

if(factory==null){

factory=new Factory();

}

return factory;

}

public Apple newApplet(){

return new Apple();

}

public Orange newOrange(){

return new Orange();

}

};

class FactoryModel {

public static void main(String args[]) {

Fruit f = Factory.getInstance().newApplet();

if (f != null) { // 判断是否取得实例

f.eat();

}

f = Factory.getInstance().newOrange();

if (f != null) { // 判断是否取得实例

f.eat();

}

}

};

求java工厂模式的一个简单代码例子,尽量简单

这个应该比较简单一点。

某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式。现使用工厂方法模式设计该系统,并写出相应Java代码。

interface Log{

public void writeLog();

}

class FileLog implements Log{

public void writeLog(){

System.out.println("文件记录");

}

}

class DatabaseLog implements Log{

public void writeLog(){

System.out.println("数据库记录");

}

}

interface LogFactory{

public Log createLog();

}

class FileLogFactory implements LogFactory{

public Log createLog(){

return new FileLog();

}

}

class DatabaseLogFactory implements LogFactory{

public Log createLog(){

return new DatabaseLog();

}

}

public class Client{

public static void main(String[] args) {

try{

Log log;

LogFactory factory;

//这里可以改成使用DOM和Java反射机制读取XML文件,获取工厂类名

factory=new DatabaseLogFactory ();

log=factory.createLog();

log.writeLog();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

}

java工厂类怎么实现

工厂方法模式分为三种:

1、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建

2、多个工厂方法模式,是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。

3、静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可。

具体代码请参考:java设计模式   第三大节

如果对您有帮助,请及时采纳谢谢


当前名称:java工厂类代码 JAVA工厂
新闻来源:http://ybzwz.com/article/docgicj.html