Oat++ 是一个开源的 C++ Web 开发框架,接下来通过几篇文章了解下该框架的工作过程以及使用方法。文章主要内容包括: Oat++ 安装过程 Oat++ 基本使用 Document:Oat++ (oatpp.io)...
thread_local 是 C++11 引入的一个关键字,它的主要作用是用于声明线程私有变量,该变量在线程内部的多个函数之间可以共享,在线程和线程之间则是独立的、不共享的。 1. 问题场景 局部变量可以在线程之间独立,...
命令模式用于将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 简单来讲,命令模式可以将不同的请求封装成统一的访问方式,比如有些请求函数名是 request...
观察者模式包含两个对象,一个是观察者,一个是被观察者。一般而言,观察者可以有多个,被观察者只有1个。当被观察者有任何的状态变化时,会通知到所有的观察者,观察者根据状态的不同做出不同的行为。 在 GoF 4 人编写的《设计...
适配器模式也是在开发一些业务框架时经常会使用到的模式。 1. STL 的适配器 其实该模式在我们使用 STL 标准模板库时也经常碰到过。比如,not1、not2 去翻适配器,bind1st、bind2nd 绑定适配器等,...
模板方法模式是设计模式中的一种非常简单,应用也较为广泛的设计模式。其基本的思想和意图是,预先定义好一些算法框架,并把算法的具体实现延迟到子类。也就是说,我们可以使用父类来定义算法的步骤,但是每一步具体如何实现我们并不关心...