【摘要】Spring框架的一个重要理念之一,就是IOC,英文全拼为Inversion of Control, 中文翻译为控制反转,这是一个非常伟大的理念,不应该只是在程序中被提及。 某些教程,因为缺乏具体的, 跨行业的案例,这一理念布道得并不准确,在这里做个补充。本文将在12月15日早会进行内部团队分享。
【作者】田甜
任何一个产品, 至少有两方—— 甲方和乙方
乙方是制造方,甲方是使用方, 也可以说,乙方是生产方,甲方是消费方。
混沌初开,甲方有需求, 就一定要跟乙方再签约合同, 乙方再制造、发布产品,甲方才能使用。一旦有需求变更, 上述流程不断继续。
但是, 今时不同往日, 甲方是否可以自己做点变动,无需通过乙方修改产品、测试、发布等一系列流程,也能达到预期的功能和目的呢?
很难,但有这样的案例,让甲方具备轻微的自我管理能力,无需跟乙方沟通:
1. 平台的商品上架
2. 新用户的注册
...
但是,上述都停留在数据层面的变动, 想想一下,逻辑功能层面是否有这种变动?
1. 房子装修,你可以自己做主,不需惊动开发商
2. 把相片存储在手机中, 你不需要号令Android的操作系统开发人员,帮你去做这件事情
...
因此,这种甲方乙方的协同行为,值得我们深入思考。 这是具备划时代意义的工作方法。
留一个口子给甲方, 后面做事情的时候,不再惊动乙方。
这就是控制反转, 本该乙方一直要去变更的事情, 甲方也有了主动权。
爱他,请移交你的控制权,
你真的爱你的甲方爸爸吗? 那就交出你的武器。否则都不是真爱~
关于控制权反转的概念, 还可以进一步扩充,凯文凯利有一本畅销书神作《失控》,透露的群氓智慧带来生物界的欣欣向荣。
但本书的意义非失控,而是IOC,即控制反转。任何一家平台必须具备IOC的能力,让平台之上的物种,在大规则之下,掌握主动控制权,个性化生长。
Out Of Control,其本质是Inversion Of Control,IOC的提出是在1996年,《失控》一书是出版,IOC甚至在执行层面上找到了经久不衰的spring框架
控制权之争,还体现在家庭教育, 你能控制孩子的初生,然后逐步丧失控制权, 他逐步成长,你慢慢老去, 他有了自己的选择,然后有了自己的人生。一步一步,掌控自己的人生。
这就是伟大的IOC, 如果多按照既定模板前行, 这个世界, 将无法完美。
IOC最深情款款的表白就是:
对你最后的爱,是放手, 把控制权交给你
再多举几个例子, 你家里面的燃气灶, 都有个电池, 换电池的工作,你会继续找燃气公司吗? 还是自己去楼下小卖部,去买一个呢? 如果涉及成铁板一块, 那就会很成问题。你就必须要再麻烦燃气公司帮你换电池, 除非网点足够多,否则你一定会受困。
特别要说明的是:
甲方内部,每个小小的工作,都要有甲乙方之分, 比如前端和后端, 其实我们说的前端,就是甲方,后端,就是乙方。因为后端在生产接口,前端在消费接口。
未完待续....
欢迎关注技术团队的知乎账号 我们凭团队实例运作以下专栏, 必须干货!
互联网创业专栏 (我们小伙伴的创业历程)
与您一起聊技术 (APP、微信公众号、小程序、H5 技术总结)
互联网产品研发管理 (我们公司对产品结构的管理思路)
产品君的案例库(产品小伙伴深刻总结)