根据以下需求,使用工厂方法模式设计系统。 (1)有两种记录日志的方法:把日志输出到文件(由FileTrace类实现)和把日志输出到屏幕(由SystemTrace类实现); (2)FileTrace类和SystemTrace类实现debug函数用于输出日志。
时间: 2024-01-09 13:03:42 浏览: 64
好的,根据您的需求,我可以提供一个简单的工厂方法模式的设计,如下所示:
首先,我们需要定义一个抽象的 Trace 类,它包含一个抽象的 debug 函数,用于输出日志:
```java
public abstract class Trace {
public abstract void debug(String message);
}
```
然后,我们可以定义具体的 FileTrace 类和 SystemTrace 类,它们分别实现了 debug 函数,用于将日志输出到文件和屏幕:
```java
public class FileTrace extends Trace {
@Override
public void debug(String message) {
// 将日志输出到文件
}
}
public class SystemTrace extends Trace {
@Override
public void debug(String message) {
// 将日志输出到屏幕
}
}
```
接下来,我们可以定义一个 TraceFactory 工厂类,用于根据客户端的需求创建具体的 Trace 实例:
```java
public class TraceFactory {
public static Trace createTrace(String type) {
Trace trace = null;
if ("file".equals(type)) {
trace = new FileTrace();
} else if ("system".equals(type)) {
trace = new SystemTrace();
}
return trace;
}
}
```
最后,客户端可以通过 TraceFactory 来获取具体的 Trace 实例,然后调用 debug 函数输出日志:
```java
Trace trace = TraceFactory.createTrace("file"); // 创建 FileTrace 实例
trace.debug("This is a log message."); // 输出日志到文件
```
```java
Trace trace = TraceFactory.createTrace("system"); // 创建 SystemTrace 实例
trace.debug("This is a log message."); // 输出日志到屏幕
```
这样,我们就使用工厂方法模式设计了一个简单的日志记录系统。