定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
模板方法(Template Method)是一个比较简单的模式。它的主要思想是,定义一个操作的一系列步骤,对于某些暂时确定不下来的步骤,就留给子类去实现好了,这样不同的子类就可以定义出不同的步骤。
2014年刚进入公司的时候,负责收集安全软件权限管理模块的开发,惊奇的发现36个权限管理页面竟然存在海量重复的代码。
于是对权限管理的所有界进行分析,将所有页面重复的代码提取到了一个base类中,将页面差异的流程逻辑延迟到子类,依次来解决代码重复的问题,减少后续维护工作量
通过模板方法,将代码量从10621多行减少到1032多行,代码量减少了87%
这个优化当时是我转正答辩的主要答辩的地方。