中易网

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

答案:1  悬赏:70  
解决时间 2021-01-18 02:35
求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());
        }
    }
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
发蜡和发油有没有区别
正常的土壤~全盐量的范围~大约是百分之多少到
近五年信用卡有7次逾期记录,还能贷款吗
开远市第五中学开远市第一职业中学地址在哪,
带有意义性的标志友情
半径为R=0.1m的圆形空间内,存在着垂直于纸面
180度减去30度等于多少麻烦你帮我算一下
过几天马上要去高中报到当老师了!昨天突然收
32岁军官大概都结婚了?
公安类公务员报考有专门职位不是学公安的可以
高数二重积分题,设∑为上半球面z=√(a^2-x^2
四舍五入法是怎么进行计算的?
抖音视频如何让粉丝多起来,我才刚玩,有些不
330除以3口,计算时发现商小了,口里填几
________the good old days,he couldn’t he
推荐资讯
丰歌怎么去啊,我要去那办事
700厘米等于多少米
梦幻西游在CBG上买的东西不取有时间限制吗?
张敏光头被埋在沙漠里的电影是什么电影?
请问如何查一个学者的H指数?
为什么沿地表水平运动的物体在北半球向右偏
简答题的答案怎么背和记住
上海梅明自得广告有限公司怎么样?
台上殷家村地址在什么地方,想过去办事
刚到25岁的男人该有多少家产?
死或生5最后一战PC键盘按键操作方法图解怎么
无女主推理悬疑类小说推荐,或者主攻悬疑推理
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?