## 区分新增过程与新增对象 在日常的开发过程中,我们很可能会形成这样那样的一种思维定势。举个例子,毕竟在平时的工作中,我们大多数接触的是这样的场景:新增一条数据->编辑一条数据。新增与编辑时往往使用同一个数据对象。 ![](https://img.kancloud.cn/e4/3d/e43da45b30789147e6c32cadf0a27bad_352x384.png) 举个例子,在电子系统中添加一个用户的时候: 新增时数据传参: ``` { "name":"张三", "nick_name":"嚣张三" } ``` 编辑时数据传参: ```json { "id": 12345, "name":"张三", "nick_name":"乖巧三" } ``` 但是,当我们通过面向过程的方式新增一个对象是的时候,情况就大不一样了。我们传参可能是这样的: ``` { "action":"起个名字", "description":"嚣张一点的" } ``` 最终完成入库的数据也是: ``` { "name":"张三", "nick_name":"嚣张三" } ``` 但是,入参是不一致的,如果遇到这种情况,我们也不必纠结,要学会分层去理解。其实,可以对应到我们平时开发过程中的Vo与Bo。 梭罗(Thoreau)曾经说过:“一棵邪恶的大树,砍它枝叶千斧,不如砍它根基一斧。”行为和态度就是枝叶,思维定式就是根基,抓住根本才能让生活出现实质性的进展。