计算机编程中的透明性是什么意思?
生活中的透明:
生活案例1.
这位美女穿的这件衣服挺透明的,可以隐约看见她的咪咪!这里的透明,指的是我们的眼睛可以穿透美女的衣服,看到美女衣服里面的敏感部位,大家都懂得哈,都别装纯情小男生了哦!这里的透明指的是什么都能看见,大家都看的清清楚楚,明明白白的意思!
生活案例2.
在《创造101》中,除了杨超越之外,其他参赛选手都是透明的(即除了杨超越之外,其他的参赛选手都是透明人);
除了杨超越以外的其他参赛选手,在观众眼里好像不存在一样,观众看不见其他参赛选手,观众只关注杨超越,其他参赛选手虽然真实存在,但是对于观众而言,观众只关心杨超越,并不关心其他参赛选手,即观众对其他参赛选手不感兴趣,只对杨超越小姐姐感兴趣,谁叫杨超越小姐姐颜值高呢,业务能力根本不重要,漂亮最重要,看钱看脸的世界,大家都懂的!
所以,除了杨超越之外,其他的参赛选手不可见或不易可见!
这里的透明是什么意思呢?这里的透明指某事物真实存在却对人来说不可见或不易可见。
生活案例3.
我们经常会听到,国家的财政制度越来越透明,这里的透明,指的是某事物公开,不遮挡和不遮掩,即把东西公布于众,老百姓什么都能明明白白、清清楚楚的看见,所以这个案例中的透明就是什么都能看见,公开的意思!
生活案例4.
如果世界上有绝对透明的玻璃,你是无法看到它的存在的,这就是透明化!
这里的透明,指的是像空气一样看不见的东西(我们都知道空气是看不见的,但是水可以看见)。
这个案例中的透明,指的是,什么透明就是你看不见什么!
以上案例都是现实生活中的案例
接下来,来说说计算机编程领域中的透明是什么意思?
编程中的透明是指不用关心细节实现,即不关心内部的细节和不关心内部的原理。
编程中的透明,就像是我们电视机的遥控器。
我们并不需要知道遥控器内部里面的电路细节,我们只要会使用遥控器就行了,即我们只要会操作遥控器上的那些按键就行了!
计算机编程领域中的透明!
案例1.
透明化是指某一层而言,比如你访问网站,中间有一层代理,但是代理对你来说就好像不存在一样,跟你直接访问网站没什么区别!
案例2.
nginx是一个反向代理服务器,nginx对于浏览器而言,也是透明的!
案例3.
有时会见到某人写了一个叫(透明路由)的lib,对mysql进行读写分离,这里的透明就是无需关心其内部实现原理!
这里的透明的意思就是:无论它的内部是如何实现的,它提供的对外接口是一致的,调用接口的人无需关心其内部实现原理。
例如,mysql读写分离这样一个需求,如果lib的调用方式和连接普通数据库一致,但是通过内部实现把select语句在只读库中执行,把update等语句在写库执行,那么这个lib对程序员来说就是透明的,程序员不用关心连接的到底是一个普通数据库还是读写分离的,代码一样写。
最后
有些小伙伴会有些疑惑,透明的意思不就是什么都能看见么,所以我就感觉到疑惑了,一个接口内部实现细节,调用者是不可知的,也就是说调用者不用了解接口的内部,but,这算哪门子透明啊?
那我来解惑一下,这里的透明,那就不能理解成现实生活中的透明了,而应该理解成编程领域中的透明,编程领域中的透明的意思就是无需关心其内部实现原理!
编程中的透明是指不用关心细节实现,即不关心内部的细节和不关心内部的原理。