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

Python020

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

这个应该比较简单一点。

某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式。现使用工厂方法模式设计该系统,并写出相应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())

        }

    }

}

工厂模式简单的讲就是用工厂方法代替了new的操作,

在通俗点就是说,你new一个对象的时候直接调用工厂方法就行了,

在编程时,需要定义一个工厂接口,由不同的的子类去实现,再定一个具体工厂类,定义一个产生实例的方法,我们通过这个方法来获得实例就行了,