根据项目实际需要,根据实体类业务类型字段进行不同操作,首先想到的是使用if..else,但是项目中使用if...else...的弊端在于:不利于对程序的扩展,如果新添加一个功能,那么就得去修改程序再添加一个if...else...分支,根据“开-闭原则”的宗旨:对扩展开放,对修改关闭。后面就想到使用工厂模式+策略模式替代,具体实现细节直接上代码:
首先定义一个策略制票服务接口:
接着不同分支实现该策略接口:
最后用工厂模式生成不同策略
调用端代码:
根据项目实际需要,根据实体类业务类型字段进行不同操作,首先想到的是使用if..else,但是项目中使用if...else...的弊端在于:不利于对程序的扩展,如果新添加一个功能,那么就得去修改程序再添加一个if...else...分支,根据“开-闭原则”的宗旨:对扩展开放,对修改关闭。后面就想到使用工厂模式+策略模式替代,具体实现细节直接上代码:
首先定义一个策略制票服务接口:
接着不同分支实现该策略接口:
最后用工厂模式生成不同策略
调用端代码:
相关文章: