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

做游戏视频网站要批证吗杭州seo排名优化外包

做游戏视频网站要批证吗,杭州seo排名优化外包,内蒙古包头做网站的公司,电商设计培训课程建造者模式 介绍代码示例 介绍 建造者模式是一种创建型的设计模式 它用于分步骤构建复杂对象 核心思想 它的核心思想就是将复杂对象部件的创建和组装过程抽象出来 代码示例 class SpeechServer {public:using ptr std::shared_ptr<SpeechServer>;SpeechServer(const …

建造者模式

    • 介绍
    • 代码示例

介绍

建造者模式是一种创建型的设计模式 它用于分步骤构建复杂对象

核心思想

它的核心思想就是将复杂对象部件的创建和组装过程抽象出来

代码示例

class SpeechServer {public:using ptr = std::shared_ptr<SpeechServer>;SpeechServer(const ASRClient::ptr asr_client, const Registry::ptr &reg_client,const std::shared_ptr<brpc::Server> &server):_asr_client(asr_client),_reg_client(reg_client),_rpc_server(server){}~SpeechServer(){}//搭建RPC服务器,并启动服务器void start() {_rpc_server->RunUntilAskedToQuit();}private:ASRClient::ptr _asr_client;Registry::ptr _reg_client;std::shared_ptr<brpc::Server> _rpc_server;
};class SpeechServerBuilder {public://构造语音识别客户端对象void make_asr_object(const std::string &app_id,const std::string &api_key,const std::string &secret_key) {_asr_client = std::make_shared<ASRClient>(app_id, api_key, secret_key);}//用于构造服务注册客户端对象void make_reg_object(const std::string &reg_host,const std::string &service_name,const std::string &access_host) {_reg_client = std::make_shared<Registry>(reg_host);_reg_client->registry(service_name, access_host);}//构造RPC服务器对象void make_rpc_server(uint16_t port, int32_t timeout, uint8_t num_threads) {if (!_asr_client) {LOG_ERROR("还未初始化语音识别模块!");abort();}_rpc_server = std::make_shared<brpc::Server>();SpeechServiceImpl *speech_service = new SpeechServiceImpl(_asr_client);int ret = _rpc_server->AddService(speech_service, brpc::ServiceOwnership::SERVER_OWNS_SERVICE);if (ret == -1) {LOG_ERROR("添加Rpc服务失败!");abort();}brpc::ServerOptions options;options.idle_timeout_sec = timeout;options.num_threads = num_threads;ret = _rpc_server->Start(port, &options);if (ret == -1) {LOG_ERROR("服务启动失败!");abort();}}SpeechServer::ptr build() {if (!_asr_client) {LOG_ERROR("还未初始化语音识别模块!");abort();}if (!_reg_client) {LOG_ERROR("还未初始化服务注册模块!");abort();}if (!_rpc_server) {LOG_ERROR("还未初始化RPC服务器模块!");abort();}SpeechServer::ptr server = std::make_shared<SpeechServer>(_asr_client, _reg_client, _rpc_server);return server;}private:ASRClient::ptr _asr_client;Registry::ptr _reg_client;std::shared_ptr<brpc::Server> _rpc_server;
};

就像上面这段代码 如果不用建造者模式的话

我们每创建一个新的server对象就需要自己手动维护一遍

并且每次要添加新的依赖的时候需要重写这些配置的顺序 比较麻烦 而且不符合DRY原则 维护困难

http://www.dtcms.com/wzjs/83829.html

相关文章:

  • 岳阳市内从事网站建设的公司公司推广咨询
  • 湘潭做网站 磐石网络很专业seo的内容怎么优化
  • 南浔做网站网络广告的计费方式
  • 网站页面制作公司我要登录百度
  • 图片点开是网站怎么做本地服务推广平台哪个好
  • 企业门户网站开发价格宁波网络优化seo
  • 晋城做网站公司百度推广运营工作是什么
  • 选择热门网站做推广的原因怎么推广软件让别人下载
  • 贸易网站设计百度推广有用吗
  • 音乐网站建设需求分析外贸建站教程
  • 东莞哪里建设网站好国内网络推广渠道
  • 杭州品牌网站设计制作公司百度seo关键词排名
  • 哪个网站可以做字体seo博客大全
  • 《网站平台建设》课程实训360优化大师
  • 中国空间站扩展企业品牌网站营销
  • 自己的网站怎么做关键词软件开发培训班
  • wordpress网站多层循环调用文章推广竞价账户托管
  • 今天广州白云新闻唐山seo推广公司
  • 求创意设计分享的网站下拉关键词排名
  • 安阳网站建设优化营销团队外包
  • 自己给公司做网站该怎么做品牌整合营销案例
  • 网站底部模板刷关键词怎么刷
  • 给企业做网站用什么程序友情连接出售
  • 凡科做网站不好茶叶seo网站推广与优化方案
  • 企业网站 php 免费最近营销热点
  • 网页设计与制作实训室厂家重庆网站优化公司
  • 成都网站建设求职简历石家庄谷歌seo
  • 房产网站开发十大搜索引擎排名
  • 嘉兴做网站公司南昌seo排名
  • 经验范围 网站建设网站优化的主要内容