模式概述
模板方法模式是一种行为设计模式,它在父类中定义了一个操作的流程,允许子类在不修改流程结构的情况下重写特定的操作步骤。
问题
假如公司正在开发一款社交聚合应用,它可以通过单一用户账号,登录所有社交应用。刚开始只支持微博,在后续的不断升级中,逐渐可以支持越来越多的应用,例如QQ和微信。
但是随着越来越多的社交应用加入进来,工程师们发现这些聚合功能完全相同,除了登录的平台账户不同,诸如登录、发消息、修改个人信息和注销等功能几乎没有什么差别,代码也几乎完全一样,该怎么去掉这些重复代码呢?
方案
原创大约 5 分钟