博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
隐喻:层与层之间的控制关系与倒车雷达
阅读量:2228 次
发布时间:2019-05-09

本文共 588 字,大约阅读时间需要 1 分钟。

隐喻:层与层之间的控制关系与倒车雷达

黄国强 2006-9-27

      前一阵子到苏州参加IC China 2006,在回来的路上我突然想起了这个题目。

      事情是这样的,在一个路口我们车在等红绿灯的时候过了线,旁边还站了个警察。我们的司机由于忘带驾照,怕引起警察注意而导致不必要的麻烦,就把车往后倒了倒。倒车过程中,车上的倒车雷达叫了起来,司机师傅没管这个。完全依靠自己的判断将车倒了足够的距离。
      那么这件事情和层与层之间的控制关系之间有什么联系呢?下面让我细细道来。
      在多层架构设计中,位于上层的对象可以访问紧邻他的下层的对象。比如典型的三层式设计中,表示层中的对象可以直接访问商业逻辑层的对象,反之却不可以。层与层的控制关系可以用一个从上层一直指向下层的箭头表示。
      万一下层对象需要调用上层的对象怎么办?办法是向上层对象发送消息,发送消息与直接调用的区别在于,对于下层被调用的对象来说调用动作是必须无条件执行的命令。而消息只是建议,上层对象在认为必要的情况下完全可以忽略掉下层消息或延迟执行。关于这点,windows API倒是有一个很明显的例子,SendMessage()和PostMessage()的区别也就在这里。
      回到刚才的故事,司机倒车就是一个上层让下层必须执行的动作,而“倒车雷达叫了起来”只是下层向上层发送的消息。司机完全可以不理会。当然,司机必须承担不理会的后果。

转载地址:http://llefb.baihongyu.com/

你可能感兴趣的文章
搞懂分布式技术21:浅谈分布式消息技术 Kafka
查看>>
后端技术杂谈1:搜索引擎基础倒排索引
查看>>
后端技术杂谈2:搜索引擎工作原理
查看>>
后端技术杂谈3:Lucene基础原理与实践
查看>>
后端技术杂谈4:Elasticsearch与solr入门实践
查看>>
后端技术杂谈5:云计算的前世今生
查看>>
后端技术杂谈6:白话虚拟化技术
查看>>
后端技术杂谈7:OpenStack的基石KVM
查看>>
后端技术杂谈8:OpenStack架构设计
查看>>
后端技术杂谈9:先搞懂Docker核心概念吧
查看>>
后端技术杂谈10:Docker 核心技术与实现原理
查看>>
夯实Java基础系列2:Java自动拆装箱里隐藏的秘密
查看>>
夯实Java基础系列1:Java面向对象三大特性(基础篇)
查看>>
夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!
查看>>
夯实Java基础系列4:一文了解final关键字的特性、使用方法,以及实现原理
查看>>
Java 未来行情到底如何,来看看各界人士是怎么说的
查看>>
IntelliJ 平台 2020 年路线图
查看>>
走进JavaWeb技术世界8:浅析Tomcat9请求处理流程与启动部署过程
查看>>
微软宣布加入 OpenJDK,打不过就改变 Java 未来!
查看>>
MyBatis动态SQL(认真看看, 以后写SQL就爽多了)
查看>>