当需要为方法增加一个处理的时候,你可以通过为这个方法增加一个参数的方式,比如int type,然后在方法里增加判断或者匹配,或者用依据开闭原则的策略模式(一般的做法是,不同的子类实现某个接口,然后放到枚举里,通过匹配执行对应的子类的方法),这里我提供了一种不同的思路,就是通过增加一个方法,注意,这里也是一种开闭原则(对新增开放对修改关闭)的具体实现。两个方法
changeBscQuarterStatus和
changeBscAnnualStatus,在这两个方法编写的时候,你可能会之间是不是也有一些common的业务逻辑啊,这个时候借助泛型,把变化的可变的部分抽象成一个T,以后再多类似的需求也不怕了, 这个common的业务逻辑就放在了
changeMangedStatus里了。由此得出面对需求变化的时候,通过泛型和函数式编程可以做到很从容的面对,很优雅地编码实现需求变化。下次文章,我将介绍如何使用JSON或者Mongo来优雅解决数据存储,即使需求变化很大也能从容面对。