当前位置: 首页 > news >正文

设计类网站建设规划书设计商城网站建设

设计类网站建设规划书,设计商城网站建设,外贸网站建设是什么,合肥网站建设公司 招聘GitHub - ros2/demos at foxy 一、说明 为了研究ROS2的组件编程#xff0c;首先要理解如何何为组件。组件本是微软的发明物体#xff0c;但是在ubuntu上需要自己从底层实现#xff0c;就说ROS2不用你写#xff0c;但是就能看明白也是需要一点理论功底的。本篇按照COM内幕的…GitHub - ros2/demos at foxy 一、说明 为了研究ROS2的组件编程首先要理解如何何为组件。组件本是微软的发明物体但是在ubuntu上需要自己从底层实现就说ROS2不用你写但是就能看明白也是需要一点理论功底的。本篇按照COM内幕的理论为线索一点一点实现它们的示例以达到理解的目的。 二、为什么要有组件 理解组件编程需要回顾程序软件的历史在历史上软件是逐步老化淘汰的过程每当就的软件过时了就需要重新开发。这种开发是重头走一回。但是在软件的逐步淘汰过程中它是某些局部环节不能满足需求并不是全部环节一起老化因而只需要局部升级就可以继续使用那么如何实现组件就成了针对的专门设计。 组件设计是一种隔离的思路是将应用程序、接口、接口实现分开进行设计的。如图 1 接口规定形式组件实现内容        2 一个组件可以有多接口。        3 多个组件可以有共同的接口但接口的内容各自组件各自规定。        4 接口定义好一般就不改了。需要新功能时可以追加接口、追加组件。        5 由于组件内实现了接口接口生存周期要长于组件。客户端调用组件 以上模式至少实现了 客户端和组件分隔组件和接口分割接口和接口实现分隔各自维护互不影响三、接口实现原理 接口的实现原理 class IX{ //first interface public:virtual void Fx1()0;virtual void Fx2()0; };class Iy{ //second interface public:virtual void Fy1()0;virtual void Fy2()0; };class CA:public Ix,public Iy{public:virtual void Fx1(){ coutFx1enl;}virtual void Fx2(){ coutFx2enl;}virtual void Fy1(){ coutFy1enl;}virtual void Fy2(){ coutFy2enl;} }; 以上代码是个比喻是展现实现的效果至于如何实现下面的设计更巧。  在上面实现中Ix和Iy是实现接口的纯抽象类。该类内部仅仅包含纯虚函数这个函数仅仅用来指针占位并无实质的实现。 为了实现纯虚函数的实体在组件CA中继承两个接口Ix和Iy在CA中实现了虚函数的集体化。可以将抽象类看成是空的表单在派生类CA中实现表单填写。 四、实质的接口定义 4.1 首先定义一个接口符号 在objbase.h中定义了一个interface的名词术语。 #define interface struct 注意这里interface定义成struct是因为在struct内的成员全部是public无需特殊生命。 4.2 更真实的接口定义 #ifndef __OBJBASE__ #define __OBJBASE__#include objbase.h interface IX{ //first interfacevirtual void Fx1()0;virtual void Fx2()0; };interface Iy{ //second interfacevirtual void Fy1()0;virtual void Fy2()0; };#endif 4.3 一个实例 ca.cpp #include istream.h #include objbase.hvoid trace(const char *pMsg ) {cout pMsg endl;}interface IX{ //first interfacevirtual void Fx1()0;virtual void Fx2()0; };interface Iy{ //second interfacevirtual void Fy1()0;virtual void Fy2()0; };class CA:public Ix,public Iy{public:virtual void Fx1(){ coutCA::Fx1enl;}virtual void Fx2(){ coutCA::Fx2enl;}virtual void Fy1(){ coutCA::Fy1enl;}virtual void Fy2(){ coutCA::Fy2enl;} };int main(){CA *pA new CA; trace(this is client call component ); Ix *pIx pA;trace(client: use the Ix interface); pIx-Fx1(); pIx-Fx2(); trace(client: use the Iy interface); pIy-Fy1(); pIy-Fy2(); trace(client:delete interface);delete pA; return 0; } 输出  this is client call component client: use the Ix interface CA::Fx1 CA::Fx2 client: use the Iy interface CA::Fy1 CA::Fy2 client:delete  interface 五、结论 客户端调用组件组件调用接口接口调用接口的实现每一步都有一个节点环节这样就使得【客户端】与【接口实现】这两个实质性的程序不产生关系达到独立维护的目的。 当客户程序和组件在一个源文件中时并无必要将其分开。但当客户和组件是在动态链接库中时此种隔离是必须的。下章将进一步隔离抽象让客户端不再使用CA的指针。 参考资料 [转]C/C构建你自己的插件框架 - Merlin-magic - 博客园 (cnblogs.com) COM编程入门不得不看的文章 第一部分 什么是COM如何使用COM_
http://www.tj-hxxt.cn/news/229547.html

相关文章:

  • 社区网站建设方案pptenfold wordpress主题
  • 东莞专业设计网站网站建设方案推广
  • linux建设门户网站技术先进的网站设计制作
  • 废品回收网站怎么做网站优化wordpress主题文件夹在
  • 提高自己网站做网站对公司的作用
  • 论文网站开发o2o手机维修网站那个公司做的
  • 学做网站的视频教学乐清网论坛
  • 建设部网站资质公示商务网站开发报告
  • 2020电商网站排行榜wordpress微缩图
  • 定制企业网站有哪些网站建设需要多大的空间
  • wordpress高亮插件优化算法分类
  • 天津专业网站制作黄骅港一期煤码头潮汐表
  • 建站行业现状探讨海口建设公司网站
  • 网络营销策划目的百度seo价格查询
  • 建设银行不会自动弹出网站python怎么做视频网站
  • 做网站的微信号旅游网站建设项目报告论文
  • 怎么做提升自己的网站网络工程规划与设计方案
  • 网站分类目录大全电子商务网站开发环境
  • 广德做网站设计开发网络推广方案的参考文献
  • 5v贵阳做网站的价格1500元个性定制首选方舟网络网站制作专家
  • 公司网站建设的作用与意义云主机挂游戏
  • 怎么自己在电脑上做网站网页平面设计培训学校
  • cloud域名注册网站目前建设网站
  • 响应式网站有什么好处哈尔滨百度关键词优化
  • 医药建设网站最近最新mv在线观看免费高清
  • wordpress取消邮箱怎样淘宝做seo网站推广
  • 静态手机网站基础gstatic wordpress
  • 西安关键字优化哪家好seo搜索优化工程师招聘
  • 百度突然搜不到我的网站网站开发的形式有
  • 泉州网站制作专业上海微信网站建设