设计模式
风竹夜
github: https://github.com/fengzhuye
开源软件, github,c/c++, linux,orocos,ros,ethercat,canopen, matlab etc.
展开
-
设计模式——状态模式(有限状态机)
状态模式适用的情况:一个context对象根据其所处的状态改变其行为。在状态模式中,我们通过创建不同的state对象来表示不同的状态,而context对象则根据不同的state对象表现出不同的行为。状态模式将不同的状态结构化,以避免过多的 if else 和 switch case 等样版代码。用设计模式中的 状态模式(行为状态) 实现一个简单的状态机(fsm),其中 class Machine 为原创 2015-12-29 17:11:45 · 8288 阅读 · 0 评论 -
C++ Has Become More Pythonic ( tuple & 可变模板参数 )
尊重作者,转载自: http://preshing.com/20141202/cpp-has-become-more-pythonic/ True and Indeed!C++ has changed a lot in recent years. The last two revisions, C++11 and C++14, introduce so many new features that转载 2015-12-10 09:10:29 · 3088 阅读 · 0 评论 -
Orocos ExecutionEngine 对函数Operation调用的实现
在 Orocos 中每一个 ExecutionEngine 可以属于一个线程,其拥有一个成员变量,指向 Activity 类(表示一个线程)。 该 ExecutionEngine 负责函数的调用,数据的传输等等(如下图所示) 其中每一个 ExecutionEngine 中都有一个无锁的队列 MWSRQueue 类 see linkinternal::MWSRQueue<base::Dispos原创 2016-06-03 11:04:24 · 3590 阅读 · 0 评论 -
c++ 设计模式备忘:
个人通俗理解,分类,方便记忆:关于如何创建一个对象:即new一个object 工厂方法模式、抽象工厂模式、原型模式、建造者模式、单例模式关于如何组织各个对象:即各个class之间的关系 适配器模式(两个不相关的之间适配)、外观模式(一个类封装多个类,向外提供简单接口)、组合模式(树状结构)、建造者模式(有个成员变量指向其他类的基类)、桥接模式(从耦合的类中分别提取出两个类各自形成继承体系,然后再原创 2015-07-31 11:05:48 · 2991 阅读 · 0 评论 -
WAMP RPC & Publish & Subscribe c++ 实现简析 & TCP 粘包处理方法
基于tcp/ip 的 RPC和Pub&Sub 基本上都是基于 boost::asio 实现的。一个wamp_session表示一个wamp端的连接,wamp 提供了注册 callee,调用一个caller 或者向一个 topic pub&sub 数据的功能。步骤:创建一个 wamp session,建立 TPC/IP 连接注册 callee, subscribe topic etc.wamp_原创 2016-06-16 15:05:59 · 3418 阅读 · 0 评论 -
关于 “将静态库改成动态库” 的思考
this link: http://www.cplusplus.com/forum/general/120142/结论就是:在编写任何一个框架(c++ 库) 的时候,需要想好编译配置。静态库(简单)动态库(考虑好暴露哪些接口,需要在每一个暴露的接口处添加 API 宏)在暴露某一个类的时候,该类的所有成员都会暴露,如果使用了 标准库的某些成员,会导致很多编译错误,可以写成这样:clas...原创 2018-11-02 15:37:51 · 2141 阅读 · 0 评论