3 完整解决方案
图3 日志记录器结构图
-
//日志记录器接口:抽象产品
-
interface
Logger { -
public void writeLog(); - }
-
-
//数据库日志记录器:具体产品
-
class
DatabaseLogger implementsLogger { -
public void writeLog() { -
System.out.println("数据库日志记录。"); -
} - }
-
-
//文件日志记录器:具体产品
-
class
FileLogger implementsLogger { -
public void writeLog() { -
System.out.println("文件日志记录。"); -
} - }
-
-
//日志记录器工厂接口:抽象工厂
-
interface
LoggerFactory { -
public Logger createLogger(); - }
-
- //数据库日志记录器工厂类:具体工厂
-
class
DatabaseLoggerFactory implementsLoggerFactory { -
public Logger createLogger() { -
//连接数据库,代码省略 -
//创建数据库日志记录器对象 -
Logger logger = new DatabaseLogger(); -
//初始化数据库日志记录器,代码省略 -
return logger; -
} - }
-
- //文件日志记录器工厂类:具体工厂
-
class
FileLoggerFactory implementsLoggerFactory { -
public Logger createLogger() { -
//创建文件日志记录器对象 -
Logger logger = new FileLogger(); -
//创建文件,代码省略 -
return logger; -
} - }
-
class
Client { -
public static void main(String args[]) { -
LoggerFactory factory; -
Logger logger; -
factory = new FileLoggerFactory(); //可引入配置文件实现 -
logger = factory.createLogger(); -
logger.writeLog(); -
} - }
文件日志记录。 |
4 反射与配置文件
|
-
//通过类名生成实例对象并将其返回
-
Class
c=Class.forName("String"); -
Object
obj=c.newInstance(); -
return
obj;
-
>