007-设计模式
文章平均质量分 89
设计模式
牛不才
c/c++ linux 后端 架构 搜索引擎
展开
-
RPC
RPC(Remote Procedure Call),远程过程调用。通俗的讲,就是本地的应用调用远程服务的方法。从这个广义的角度讲restful也属于一种rpc,但通俗的来它们是不同的实现。我们在选择技术方案的时候,可以根据不同的场景做出选择。 1. Restful .Pk. RPC Restful的优势: 可读性,一般时json格式。基于http,可以获得防火墙的支持,比如屏蔽某些访问。这两点保证了它能供轻松的支持跨语言的通信。 Restful的劣势: 成也HTTP,败也HTTP。REST中有效信息占比少原创 2021-03-20 15:03:34 · 138 阅读 · 0 评论 -
单例模式
通常用法 一般来讲单例模式,私有构造和赋值函数,保证只有一个访问接口,按照创建时间来分,有以下两种写法 饿汉式 class Singleton { private: Singleton(){}; Singleton(const Singleton&); Singleton& operator=(const Singleton&); ~Singleton(){}; public: static Singleton* getIns.原创 2020-11-19 00:47:10 · 284 阅读 · 0 评论 -
C++常用模式之模板方法模式
模板方法模式 是设计模式之中最常用的模式之一。 简单来说,就是基类/抽象类,定义了一套执行流程,而流程中具体方法的实现交给实现类去做。 使用场景,有多个子类,而且对每个操作的处理流程基本一致,可以采用此模式。 #include <iostream> using namespace std; class BaseHttp { public: // 在这里 模板方法"Parsing()",定义一个算法的执行流程, // 先ParsingHead,再ParsingBody,当然原创 2020-11-11 15:31:39 · 187 阅读 · 0 评论 -
设计模式之单例模式
单例模式非常常用,客户端软件的话,主窗口只有一个通常就是采用单例模式。 主要思想,就是保证进程中只有一个实例对象。 //懒汉式 //懒汉式 class LazyMan{ private: LazyMan(){ pthread_mutex_init(&mutex, NULL); } static pthread_mutex_t mutex; publi...原创 2019-06-01 11:52:39 · 98 阅读 · 0 评论