分离关注:
名为“ prepare_product_data ”的方法会返回:
product_data = { id : 1, name : 'iphone 7' , url : 'iphone-7' }
名为 save(db_table,data)的方法只接受两个参数 - daabase表名和准备好的数据。它的唯一目的是将数据保存到指定的表中。
但是现在在产品中,url是重复的,无法覆盖,而是需要通过修改url来存储,比如最后添加一个随机数。因此,当碰撞重复时,它应捕获数据库重复错误,然后修改URL。所以首先复制
product_data = { id : 1, name : 'iphone 7' , url : 'iphone-7-X' }
保存方法只关注保存不检查重复项,即使检查它也不应该处理有关'product'表的任何特定内容。这不会是分离的关注点。在这种情况下,我们如何分离关注点?