我遇到了一个面试问题,要求设计一个文字处理器。
经过研究,我发现享元设计模式是一种方法。我想出了下面的代码(忽略语法)。但是我很难思考什么是我的关键,什么是我对文字处理器的价值。public class Format { public readonly string _fontname; 公共只读字符串_weight;公共只读 int _size;
public Format(string fontname, string weight, string size)
{
_fontname = fontname;
_weight = weight;
_size = size;
}
}
public class TextFromatInfo
{
public _readonly Format _oFormat
public TextFormatInfo ( Format oformat)
{
_oFormat = oFormat;
}
public Format GetFormat
{
get {return this._oFormat}
}
public void ApplyFormat(format Format)
{
console.writeline ("apply format fontname: " format.forntname +
"size: " + format.size + "weight : " format.weight
}
}
public class TextFormatFactory
{
public readonly IDictionary<Format, TextFormatInfo> _cache =
new Dictionary <Format, TextFormatInfo>
public TextFormatInfo GetTextFormatInfo(Format oFormat)
{
if (_cache.ContainsKey(oFormat)) return _cache[oFormat];
var OTextFormatInfo= new TextFormatInfo(oFormat);
_cache.add(OTextFormatInfo.GetFormat, OTextFormatInfo);
return OTextFormatInfo ;
}
}
public class TestFlyWeight
{
private static TextFormatInfo[] formtInfo = new TextFormatInfo[100];
private static TextFormatFactory ff;
public void ProcessesWord(char c, string fontname, int size, string weight)
{
}
}
上面的课程会是什么样子?如何通过实际处理单词来完成程序?