采用面向对象的方法，将原来的程序结构进行重构，大大降低了代码冗余，不用再针对每一个单独的template进行 拉else程序分支