我是靠谱客的博主 健忘寒风,最近开发中收集的这篇文章主要介绍软件架构设计模式——从事机器人工程师必须掌握的基本设计模式盘点:适配器模式设计模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 设计模式
    • 适配器模式

设计模式

软件开发需要做到的是需求分析,概要设计,然后是详细设计。详细设计就是模块设计阶段。设计模式就是在这个阶段碰到局部或者通用问题的时候来使用,TA是一个如何解决问题的描述,参与者有谁?目的是什么?类图如何画出来?

设计模式在软件工程中的定义是:
解决软件设计中常见问题的一种通用和可重用的解决方案。

在这里插入图片描述我们的UML类图可以转换成代码的骨架,想要运行代码,内容需要我们来填充。

在我们掌握设计模式的定义,引入的意义,我们提倡使用的原因之后(一句话总结就是站在巨人的肩膀上看的远,坐在大树下好乘凉,有前人已经测试验证过的方法符合我们的情景,那么我们就拿来先用再改进),我们来具体了解一下机器人领域常使用的设计模式( A recurring solution to a standard (well-defined) problem in SW design.)

DP categories in Robotics (for now):

  1. Communication patterns: related to what happens between two or more components.
  2. Component patterns: related to the internal behavior of typically used components in robot SW frameworks.
  3. System architecture patterns: related to how a huge number of components interact to form (sub)systems (examples throughout the course).

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200524122943794.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk5MTY3Mw==,size_16,color_FFFFFF,t_70]
我们从上面这张思维导图出发,简单了解图中提到的6种设计模式。

适配器模式

了解适配器模式,我们从了解转换插头开始。去国外旅行由于不同国家的插口不同,我们想要充电是一定要带着转换插头的。适配器模式:使一个类和一个接口不匹配的其他类进行交互我们这样做的意图是想让一个类的接口转换成client类期望的接口,让类协同工作。
在这里插入图片描述残留问题:如何代码实现适配器模式以后再学习。
我们的原则尽量的少编写代码,尽量使用适配器适配已经存在的接口

比如我们已经存在了两种组件,一个是读取传感器的数据,比如雷达定位信息等,一个是实现机器人定位算法的组件。可能我们第一个组件的接口提供int类型数据,第二个组件接口提供double类型数据,那么我们如何解决这个问题?
(画外音,哈哈哈,开心,掌握一种新技能,很好用的一种方法,推荐大家使用:markdown 如何设置颜色)
最简单天真的方法是我们更改两个组件相应的代码,(小白专属技能,我是小白,为小白点赞)但这其实是一个很不好的方法,违反了我们的原则。在这种情况下,我们希望使用适配器模式。

It translates one component interface into an interface compatible to another component.

使用适配器模式的时候,我们也要掌握一个小tip,最好实现适配器模式的代码要短小精悍。
在这里插入图片描述残留问题这是为什么呢?考虑到时间延迟,实时性,如果有if-else,我们会有不同的延迟,我们希望适配器是有确定输入输出的并且反映迅速的。

Pay attention!
• We want the data to pass through the Adapter component quickly in order to minimize the delay of inter-component communication.
• The Adapter component should react as quickly as possible to new data or service requests.

UML 绘图表示适配器模式如下:
在这里插入图片描述ROS数据可视化工具Rviz和三维物理引擎机器人仿真工具V-rep Morse Gazebo Webots USARSimRos等概述,后期学习。
在这里插入图片描述今日写文背景音乐华晨宇的《降临》

La vi ah vi ah vi 夜降临播种 宽宥 宽宥啊
La vi ah vi ah vi 入梦境之后请小心秉烛夜游
La vi ah vi ah vi 格林喂养着 野兽 野兽啊
La vi ah vi ah vi 光临人间尚不知忧
前瞻又顾后
万象
迎一杯枯荣
双手捧新芽降落
疯与静默
融进大雨萧索
学不会懵懂
张望着相对
不离不休

La vi ah vi ah vi 夜降临播种 宽宥 宽宥啊
La vi ah vi ah vi 河童遗忘的 苹果偷渡到天国
La vi ah vi ah vi 隐秘它绽放 太多 太多啊
La vi ah vi ah vi 伊甸园放走阿修罗
水仙忍涕落
万象
迎一杯枯荣
双手捧新芽降落
疯与静默
融进大雨萧索
学不会懵懂
张望着相对
不离不休

La vi ah vi ah vi 夜降临播种 宽宥 宽宥啊
La vi ah vi ah vi 寂静消散曙光暗涌 都奔向白昼

最后

以上就是健忘寒风为你收集整理的软件架构设计模式——从事机器人工程师必须掌握的基本设计模式盘点:适配器模式设计模式的全部内容,希望文章能够帮你解决软件架构设计模式——从事机器人工程师必须掌握的基本设计模式盘点:适配器模式设计模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部