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

网站被降权怎么恢复网站编辑教程

网站被降权怎么恢复,网站编辑教程,网站建设过程发生的费用,专门做淘宝代运营的网站模式定义 空对象模式(Null Object Pattern)是一种行为型设计模式,通过用无操作的空对象替代null值,消除客户端对空值的检查,避免空指针异常。其核心是让空对象与真实对象实现相同接口,但空对象不执行实际逻…

模式定义

空对象模式(Null Object Pattern)是一种行为型设计模式,通过用无操作的空对象替代null值,消除客户端对空值的检查,避免空指针异常。其核心是让空对象与真实对象实现相同接口,但空对象不执行实际逻辑。


模式结构

抽象对象(Abstract Object)

  • 定义所有对象的统一接口(如Tool类中的use()方法)。
    真实对象(Real Object)
  • 实现具体功能(如DrillTool钻孔操作)。
    空对象(Null Object)
  • 实现相同接口但无实际操作(如NullTool静默处理调用)。

适用场景

数控系统工具管理:未安装工具时返回空工具对象。
避免空值检查:如数据库查询未找到记录时返回空实体。
简化客户端逻辑:无需判断对象是否为null


C++示例(数控系统工具切换)

场景说明:
数控机床切换工具时,若未安装工具则返回空对象,避免空指针异常。

#include 
#include // 抽象工具接口
class Tool {
public:virtual void use() = 0;virtual ~Tool() = default;
};// 真实对象:钻孔工具
class DrillTool : public Tool {
public:void use() override {std::cout << "钻孔工具启动:开始钻孔操作\n";}
};// 真实对象:切割工具
class CuttingTool : public Tool {
public:void use() override {std::cout << "切割工具启动:开始切割操作\n";}
};// 空对象:未安装工具
class NullTool : public Tool {
public:void use() override {// 空操作,不输出任何内容}
};// 工具工厂类
class ToolFactory {
public:static std::shared_ptr getTool(int toolId) {switch (toolId) {case 1: return std::make_shared();case 2: return std::make_shared();default: return std::make_shared(); // 无效ID返回空对象}}
};// 客户端代码(数控系统操作)
int main() {// 模拟工具切换(假设当前未安装工具,ID=0)auto tool = ToolFactory::getTool(0);tool->use(); // 安全调用,无空指针风险// 安装钻孔工具(ID=1)tool = ToolFactory::getTool(1);tool->use();return 0;
}

代码解释
抽象接口Tool

  • 定义use()方法,强制所有工具实现统一操作。
    真实工具类:
  • DrillToolCuttingTool实现具体功能(钻孔、切割)。
    空对象NullTool
  • 重写use()但不执行任何操作,避免客户端因未安装工具而崩溃。
    工厂类ToolFactory
  • 根据工具ID返回真实对象或空对象,隐藏空值判断逻辑。

优势与引用来源

消除空检查:客户端无需判断if (tool != nullptr)
增强健壮性:空对象提供无害默认行为,防止程序崩溃。
代码简洁性:逻辑集中于工厂类,客户端调用更简洁。

http://www.yayakq.cn/news/442895/

相关文章:

  • 深圳知名的网站公司简介网站建设互诺科技
  • 网站建设首选玖艺建站信得过wordpress 整站采集
  • 掏宝网网站建设评价表网站域名备案注册证书
  • 怎么用微信官方网站做二维码学做旗袍衣服的网站
  • 北京企业建立网站如何做做网站
  • 正规网站建设服务邢台建网站找谁
  • 哈尔滨建设公示排名优化seo
  • 洛阳霞光只做有效果的网站公司网站管理属于什么职位
  • 黄埔商城网站建设企业策划公司
  • 在线做网站午夜伦理wordpress mssql
  • 佛山网站优化多少钱网站开发怎么收客户费
  • 做网站设计最好的公司网站建设代理平台有哪些
  • 重庆网站建设电脑版网站seo优化免费
  • 做版权保护的网站html5响应式网站制作
  • 郑州销售网站松江企业网站建设
  • 网站服务器价格表一级a做爰片免费网站黄
  • 网站维护一般多长时间重庆网站建设就找承越
  • 德州网站建设设计山西网站制作
  • 福州建站服务怎么样搭建wordpress
  • 网站如何添加数据做搜狗网站优化点击
  • asp建网站百度西安研发中心
  • 网站建设的域名是什么无锡企业网站制作哪家好
  • 南京手机网站制作公司给别人做网站挣钱吗?
  • 巨鹿建设银行网站首页泉州网站建设qzdzi
  • 海淀西北旺网站建设京东云服务器
  • 刷赞网站推广免费链接域名申请证书
  • 购买网站app制作婚庆大气网站源码
  • 网站建设培训公司哪家好wordpress密码文章插件
  • wordpress订单分类目录网站大全做seo
  • 建网站销售常见问题wordpress目录地址