C#笔记:重构-模版模式 在重构中,我们需要对代码不同但是结构相同的函数进行合并。我们可以把函数中不同的步骤都封装成一个个不同的函数,然后作为抽象函数上移到父类,父类用统一的函数进行调用。子类用不同的代码来实现这些函数(多态) 举例: public class PrintHtml { public void PrinHT() { Console.WriteLine("我好帅<br>"); } } public class PrintWord { public void PrintWD() { Console.WriteLine("我好帅\\r\\n"); } } 这两个函数,都包含打印这个操作,但是内容却大相径庭。故而我们可以使用模版模式,将获取内容的方法做为抽象函数,交给子类实现。父类用统一的函数进行调用。public abstract class Statement { public voidPrint() { Console.WriteLine(GetContent()); } public abstract string GetContent(); } public class PrintHtml:Statement { public override string GetContent() { return"我好帅<br>"; } } public class PrintWord:Statement { public override string GetContent() { return"我好帅\\r\\n"; } } 调用时: PrintHtml ph = new PrintHtml(); ph.Print(); PrintWord pw = new PrintWord(); pw.Print();他们会打印不同的内容。 来自 大脸猫 写于 2015-02-16 22:14 -- 更新于2020-10-19 13:06 -- 0 条评论