首页 > 试题广场 >

设计一个多终端日志打印的接口,使得它可以动态支持不同终端的日

[问答题]
设计一个多终端日志打印的接口,使得它可以动态支持不同终端的日志打印
设计合理即可,关键点是利用动态绑定实现接口与实现的分离,下面是一个参考答案:
class BaseTerminal {
public:
 virtual void PrintLog(const string& message) const = 0;
};

class Screen: public BaseTerminal {
public:
 void PrintLog(const string& message) const = 0;
};

class Network: public BaseTerminal {
public:
 void PrintLog(const string& message) const = 0;
};

void LogPrint(const BaseTerminal &terminal);

发表于 2015-05-05 14:50:24 回复(4)
可以考虑设计模式中的工厂模式!
发表于 2015-06-10 23:39:48 回复(0)
这是观察者模式吧
发表于 2019-02-19 22:46:26 回复(0)
可以采用工厂方法模式和策略模式,如果采用工厂方法模式的话,需要一个基类A,保存着需要打印的日志文件和打印的虚函数的方法,后面创建两个方法的子类B,C分别继承了基类A,然后实现打印的虚函数方法,如果是策略模式做到这一步就够了,但是如果采用工厂方法模式的时候,还需要建立抽象工厂方法,然后建立B,C类的工厂,分别实例化B,C类的方法。
发表于 2016-08-13 13:01:44 回复(0)
没理解题意,有同志能帮忙解释一下吗,谢谢!
发表于 2015-06-11 13:28:15 回复(0)
这是测试用,哈哈哈
发表于 2015-05-07 15:38:51 回复(0)
。。。。。。。
发表于 2015-05-07 15:12:53 回复(0)