【设计模式】模板方法
1. 将子类相同的方法抽象到父类,不同的方法以重写来实现
2. 适用场景 :
a. 子类间主方法的流程一样且有大量重复代码
3. 代码
class TemplateMethod { public static void Test() { var one = new TemplateOne(); one.MainMethod(); var two = new TemplateTwo(); two.MainMethod(); } } internal abstract class TemplateBase { public void MainMethod() { SonMethod(); Console.WriteLine("这是子类共有的方法"); SonMethod1(); } public abstract void SonMethod1(); public abstract void SonMethod(); } internal class TemplateOne : TemplateBase { public override void SonMethod1() { Console.WriteLine("这是 One 独有的方法1"); } public override void SonMethod() { Console.WriteLine("这是 One 独有的方法"); } } internal class TemplateTwo : TemplateBase { public override void SonMethod1() { Console.WriteLine("这是 Two 独有的方法1"); } public override void SonMethod() { Console.WriteLine("这是 Two 独有的方法"); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步