大家好,我有一件事情弄不明白,问问大家。
很多原则都说,不要将业务逻辑放在数据层或者是存储过程里,可是假如我现在有这么一种程序,是个新闻系统,需求是显示出编辑推荐的所有文章。这是业务逻辑还是别的?好,如果按业务逻辑来看,我们可以这样写SQL语句
Select * from article
然后判断是否Recommended字段为推荐的值。这样我们把它写在业务层,现在需求变了,还要加一个点击率大于1000,我们只改业务层就行。
可是这样的代价是不用说的,如果放在存储过程里面,或者数据层,
select * from article where isRecommended = 1 and viewtimes > 1000
那么就可能会出现联动修改,数据层和逻辑层都要改。
到底怎么判断是不是业务逻辑?