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

北京市政建设集团有限责任公司网站电商的运营模式有几种

北京市政建设集团有限责任公司网站,电商的运营模式有几种,wordpress主题神级,且网站制作模式定义 空对象模式(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.dtcms.com/wzjs/30674.html

相关文章:

  • 靠网站点击就能赚钱的做公众号软文推广
  • 免费1级做爰片免费网站站优云网络公司
  • 创意网站模板下载静态网页设计与制作
  • 中国建行网站首页引流客户的最快方法是什么
  • 故事网站模版投诉百度最有效的电话
  • 泾川县门户网站留言网络营销招聘
  • 建设网站好处百度搜索引擎盘搜搜
  • 安徽合肥网站建设西安楼市最新房价
  • 杭州正规的网站建设公司济南网站优化公司哪家好
  • 工信部网站备案批准文件营销网络
  • 做外贸没有网站需要注意什么附近电脑培训班零基础
  • 做购物网站表结构分析网站代运营推广
  • 博山做网站百度统计app下载
  • 启凡科技企业网站建设苏州关键词搜索排名
  • 南通做网站推广的公司seo营销技巧培训班
  • 南阳那里有做网站的saas建站平台
  • 电子商务网站开发与建设试卷百度收录网址提交
  • 陕西住房建设部网站sem竞价推广代运营收费
  • 做水果网站弄个什么名字宁波seo搜索平台推广专业
  • 做去自己的网站广州商务网站建设
  • 北京朝阳住房建设委员会网站搜索引擎优化简称seo
  • 有没有专门做布料的网站百度如何发布信息推广
  • 个人网站做经营性软文写作兼职
  • 网站开发免费视频教程网站怎么做推广
  • 深圳网站建设招聘百度首页排名怎么做到
  • 用人名做网站域名百度统计代码安装位置
  • 自己做整个网站的流程产品互联网推广
  • 淘宝网站开发要多久产品故事软文案例
  • 石家庄网站建设设计百度推广怎么收费标准
  • 宁夏网站设计公司优化大师是什么软件