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

discuz怎么做h5网站一台电脑赚钱的门路

discuz怎么做h5网站,一台电脑赚钱的门路,httpd.ini wordpress,网站app免费软件建造者模式 介绍代码示例 介绍 建造者模式是一种创建型的设计模式 它用于分步骤构建复杂对象 核心思想 它的核心思想就是将复杂对象部件的创建和组装过程抽象出来 代码示例 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/366371.html

相关文章:

  • 做婚恋网站要多少钱竞价托管一般多少钱
  • 网站开发方案网络营销师报考条件
  • 网站开发成功案例seo自动优化软件安卓
  • asp 网站开发 软件seo发外链工具
  • wordpress新手seo网上课程
  • 学校网站建设维护seo新手教程
  • iis服务器网站301重定向怎么做城市分站seo
  • 公众号自己做电影网站吗自助网站建设平台
  • 专业做网站公司哪家好长春seo排名优化
  • 机械毕业设计代做网站营销网站定制
  • 怎样制作网站站点百度浏览器
  • 虚拟机wordpress建站济宁seo推广
  • 网站开发培训排名google store
  • 深圳网站设计要点拉新app推广平台
  • 测评网站怎么做竞价推广公司
  • axure做网站原型尺寸上海网站建设方案
  • 网站推荐广告模板鼓楼网站seo搜索引擎优化
  • 做自媒体有哪些网站企业网络推广网站
  • 网站制作排版注意事项制作网站推广
  • 做网站的产品图片怎么做蛋糕
  • 房地产网站推广网站推广的一般流程是
  • 驾校做网站百度网盘app怎么打开链接
  • 硬件开发测试win7系统优化软件
  • 有关电子商务网站建设的 论文优化关键词首页排行榜
  • 政府网站建设管理问题及对策全媒体广告策划营销
  • 简述电子商务网站开发的基本流程php免费开源crm系统
  • 交通局网站模板查网站流量查询工具
  • 县区网站集约化平台建设研究域名ip地址在线查询
  • 新手做网站应该注意什么自己创建网页
  • 徐州网站开发信息如何宣传推广自己的产品