举一个例子:用户A需要发布一篇文章,文章有多种状态,我需要实现一个发布文章的函数供其它地方调用(系统内部)
1、我的做法:业务逻辑的判断+入库操作函数
add(string title,string context,int state)
2、同事的做法:一个函数(业务逻辑的判断+入库操作函数)
add(string title,string context) 在内部判断状态
我的想法:
希望能够松散一些,比如状态的控制,如果改变的话,可以不用修改入库操作函数
add(string title,string context,int state)
用策略模式:发布每一种状态的文章作为一个策略,就行了.
新增一种新的状态的发布,只是增加多一种"策略".