其实高内聚,低耦合的概念最终可以转换为虚拟化的思想。也就是把复杂封装起来,把简单暴露出去。
事实上,编程就是如此,而且一直如此。如果深究一下代码的底层,底层的底层最底层的就是 高电平,低电平。把高电平,低电平虚拟化成0,1。 二级制0,1封装成0~10 然后再封装ASII码,再封装成进程... 我们从一开始就是把复杂放到底层,提供简单的接口。上层不管底层如何复杂,直接调用就可以了。包括我们熟悉的jvm虚拟机,底层其实是C语言写的,从各个不同的系统怎么运行jvm虚拟机,怎么适配不同的系统,不同的内存,不同内核cpu。都是虚拟化封装了复杂,然后暴露了简单的接口给jvm虚拟机,所以我们在学习jvm虚拟机时候,有一个叫Native本地方法栈的东西,调C语言方法。
不管是对象还是程序都是这样的,甚至于我们的公司企业也是一样。从这个角度上面看,公司是处理复杂,暴露简单的一个容器。你想想,假如你想要租房,找个中介公司就能搞定很多事情。中介公司,提供房源,提供合同,提供法律支持... 他们的复杂就是开发房源,研究法律,研究行情.... 我们只需要调用他们的服务就可以简单的租房,不用考虑合同是否有效,去哪找房子等等问题。其实公司就是这样的一个集合,自己内化复杂,提供了方便的接口服务,所以才收费。例如:京东淘宝,你不要需要知道电商的购买逻辑多么复杂,怎么找快递,怎么线上支付,怎么和银行合作,怎么样获取支付凭证,怎么处理支付时候的法律问题...你只要手指点击几下就可以买东西。
我们都是这么做的,很多事情我们也可以这么理解。比如公司和个人的关系。领导给你工作,让你去做,你就去把复杂的东西处理出来,最后输出的东西一定是简单易懂的。我们封装了复杂输出了简单。如果你一直和领导暴露这个事情的复杂,那么公司雇你干嘛,领导用你干活干嘛。我们的作用就是要内化复杂,处理,然后形成简单明了的输出,领导再根据这些输出处理自己需要处理的问题,然后输出简单给他上面的大领导,然后这样整个公司就输出了简单给客户~