模版方法模式实际就是把不变的行为放在父类,把自定义行为放在子类。
我曾经写过一个控件,只有一个类,然后通过枚举设置它的 type,在 .m 中,通过 type 完成不同的实现。(这个 viewController 的 UI 是固定的,不同的 type 是在装载不同的 model)
只有一个类,看似较为简单,但实际上 type 增加到5、6个的时候,类中的代码已经很多,而且不好维护。
这样写违反了开放-封闭原则。应该将相同的操作提取一个父类出来,然后通过不同的子类覆写父类方法,完成操作。
模版方法模式实际就是把不变的行为放在父类,把自定义行为放在子类。
我曾经写过一个控件,只有一个类,然后通过枚举设置它的 type,在 .m 中,通过 type 完成不同的实现。(这个 viewController 的 UI 是固定的,不同的 type 是在装载不同的 model)
只有一个类,看似较为简单,但实际上 type 增加到5、6个的时候,类中的代码已经很多,而且不好维护。
这样写违反了开放-封闭原则。应该将相同的操作提取一个父类出来,然后通过不同的子类覆写父类方法,完成操作。