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

中国免费网站服务器2020网站建设理由

中国免费网站服务器2020,网站建设理由,域名解析ip地址,婚纱摄影网页#设计模式 #Qt 一、QDomDocument(XML 文档构建) 模式角色: Builder:QDomDocument 本身Product:XML 文档对象Director:用户代码通过 QDomDocument 逐步构建文档结构 示例代码: QDomDocument…

#设计模式 #Qt

一、QDomDocument(XML 文档构建)

模式角色

  • Builder:QDomDocument 本身
  • Product:XML 文档对象
  • Director:用户代码通过 QDomDocument 逐步构建文档结构

示例代码

QDomDocument doc("config");
QDomProcessingInstruction instruction = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\"");
doc.appendChild(instruction);QDomElement root = doc.createElement("root");
doc.appendChild(root);QDomElement setting = doc.createElement("setting");
root.appendChild(setting);QDomText text = doc.createTextNode("value");
setting.appendChild(text);QString xml = doc.toString();

二、QNetworkRequest(网络请求构建)

模式角色

  • Builder:QNetworkRequest
  • Product:完整的网络请求对象
  • Director:通过链式调用设置请求参数

示例代码

QNetworkRequest request;
request.setUrl(QUrl("https://api.example.com/data"));
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
request.setRawHeader("Authorization", "Bearer token123");
request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);

三、QSqlQuery(SQL 语句构建)

模式角色

  • Builder:QSqlQuery
  • Product:数据库查询对象
  • Director:用户代码分步骤构建查询

示例代码

QSqlQuery query;
query.prepare("INSERT INTO users (name, age) VALUES (:name, :age)");
query.bindValue(":name", "Alice");
query.bindValue(":age", 30);
query.exec();

四、自定义建造者模式实现

当需要更复杂的构建逻辑时,可以自定义建造者类:

1. 产品类

class User {
public:void setName(const QString &name) { m_name = name; }void setAge(int age) { m_age = age; }void setEmail(const QString &email) { m_email = email; }
private:QString m_name;int m_age;QString m_email;
};

2. 建造者类

class UserBuilder {
public:UserBuilder() : m_user(new User) {}UserBuilder& withName(const QString &name) { m_user->setName(name); return *this; }UserBuilder& withAge(int age) { m_user->setAge(age); return *this; }UserBuilder& withEmail(const QString &email) { m_user->setEmail(email); return *this; }std::unique_ptr<User> build() { return std::move(m_user); }
private:std::unique_ptr<User> m_user;
};

3. 使用示例

auto user = UserBuilder().withName("Bob").withAge(25).withEmail("bob@example.com").build();

五、Qt 建造者模式特点

  1. 链式调用:通过返回*this实现流畅接口(Fluent Interface)
  2. 分步构建:支持逐步设置复杂对象的各个属性
  3. 延迟构建:可以在需要时才生成最终对象
  4. 类型安全:通过泛型和模板保证构建过程的类型正确性

文章转载自:

http://5XwLPKOv.ydgzj.cn
http://JKZ0SLKK.ydgzj.cn
http://9rj2YGyh.ydgzj.cn
http://UZAWIaFu.ydgzj.cn
http://bqYdIwoC.ydgzj.cn
http://KdNW6fBi.ydgzj.cn
http://WQJIH1vi.ydgzj.cn
http://QqkTdnD5.ydgzj.cn
http://HajoaNXS.ydgzj.cn
http://9EhPea3t.ydgzj.cn
http://0tIMkKLC.ydgzj.cn
http://4ZTBU1wq.ydgzj.cn
http://NsIvns2z.ydgzj.cn
http://wkWlHai9.ydgzj.cn
http://9WkT5qPM.ydgzj.cn
http://ISaJsrIx.ydgzj.cn
http://LuNcfXNG.ydgzj.cn
http://jNlahJeR.ydgzj.cn
http://XPoJWZ7u.ydgzj.cn
http://DcmzhpWB.ydgzj.cn
http://ApPAE59J.ydgzj.cn
http://PstYcU1s.ydgzj.cn
http://Ghi7PfWH.ydgzj.cn
http://Rfcgqzyq.ydgzj.cn
http://TqGxXrdu.ydgzj.cn
http://7iIpwA8Q.ydgzj.cn
http://diXnD27k.ydgzj.cn
http://JXedaTOT.ydgzj.cn
http://fCgLxtqE.ydgzj.cn
http://5fiAblcJ.ydgzj.cn
http://www.dtcms.com/wzjs/656051.html

相关文章:

  • 兰溪市建设局官方网站上海建网站服务器
  • 做公司网站用什么系统在word环境下wordpress
  • 西双版纳住房和城乡建设局网站深圳网站平台哪家强
  • 公交车网站怎么做留言板网站收录原创文章
  • 自己网站做搜索引擎优化运城网站建设公司
  • 中国建筑设计网官网淮安网站seo
  • 专业网页制作与网站设计把自己做的网站上传到服务器
  • 台州seo网站排名做医院门户网站 上海
  • 网站建设需求模版网站建设流程报价
  • 南昌做网站的公司有哪些虾皮这种网站根本不值得做
  • 做网站都有什么成本网站整体色彩的建设
  • 广东网站搭建app开发需要哪些技能
  • app制作成本网站做seo优化有什么优势
  • 给个网站急急急202wordpress 新网页打开
  • 商丘建设网站2022年中国企业500强榜单
  • 分析对手网站的优化方法株洲网站建设开发设计
  • 西红柿怎么做网站杭州的互联网企业有哪些
  • 企业网站建设的流程内蒙古有做购物网站的吗
  • 站长之家怎么查询网站哪家做的网站推广排名最新报价
  • 学习做网站教程营销型网站建设大概多少钱
  • wordpress tag调用公司网站怎么优化
  • 长春建个网站需要多少钱?衡水网站建设联系电话
  • 佛山网站建设运营求网站建设的视频
  • 母婴行业网站建设浙江诚峰建设工程有限公司网站
  • 微信公众号里的网站怎么做的世界互联网巨头
  • 金乡县住房与城乡建设局网站官网站内优化怎么做 2018
  • 海外医疗兼职网站建设门户网站建设的成果
  • wordpress做大站好吗公司官方网站建设申请
  • 备案增加网站大学生创新创意产品设计方案
  • 大淘客网站商品做淘口令百度快照入口官网