行为型模型 空对象模式

行为型模型 空对象模式

/**
 * 行为型模型 空对象模式
 * 创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方。
 * 不要为了屏蔽null而使用空对象,应保持用null,远比用非null的值来替代“无值”要好。(慎用)
 *
 */

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <string>

void mytest()
{

    return;
}

int main()
{
    mytest();

    system("pause");
    return 0;
}
时间: 2024-10-07 15:25:05

行为型模型 空对象模式的相关文章

Java进阶篇设计模式之十三 ---- 观察者模式和空对象模式

前言 在上一篇中我们学习了行为型模式的备忘录模式(Memento Pattern)和状态模式(Memento Pattern).本篇则来学习下行为型模式的最后两个模式,观察者模式(Observer Pattern)和空对象模式模式(NullObject Pattern). 观察者模式 简介 观察者模式又叫发布-订阅(Publish/Subscribe)模式.模型-视图(Model/View)模式.源-监听器(Source/Listener)模式或从属者(Dependents)模式.观察者模式定义

行为型模型 责任链模式

行为型模型 责任链模式 Handler         处理类的抽象父类. concreteHandler         具体的处理类. 责任链优缺点 优点:         1.责任的分担.每个类只需要处理自己该处理的工作(不该处理的传递给下一个对象完成),明确各类的责任范围,符合类的最小封装原则.         2.可以根据需要自由组合工作流程.如工作流程发生变化,可以通过重新分配对象链便可适应新的工作流程.         3.类与类之间可以以松耦合的形式加以组织.缺点:      

行为型模型 中介者模式

行为型模型 中介者模式 Mediator抽象中介者         中介者类的抽象父类. concreteMediator         具体的中介者类. Colleague         关联类的抽象父类. concreteColleague         具体的关联类. 适用于:         用一个中介对象,封装一些列对象(同事)的交换,中介者是各个对象不需要显示的相互作用,从而实现了耦合松散,而且可以独立的改变他们之间的交换. /** * 行为型模型 中介者模式 * Mediat

空对象模式(Null Object Pattern)

空对象模式:用一个空对象来取代null实例的检查,空对象实现一个不做任何动作的关系.(消除如if(Object == null) 这样的检查null实例代码) 例子: public abstract class Duck { public String name; public abstract void getName(); } public class ConcreteDuck extends Duck { public ConcreteDuck(String name) { this.na

C# 设计模式之空对象模式

最近看了不少的书籍和视频等相关资料,决定自己边学习边写一下个人对设计模式的理解,如果有不对的请大家多多指正. 今天先说说我个人觉得最简单的设计模式 -- [空对象模式] 空对象模式可以减少客户端对对象判断是否为空的重复操作,也可以减少异常发生的情况[如果客户端调用程序忘记了检查对象是否为空,而直接访问对象中的数据,则有可能会报出异常,影响程序运行]. 废话不说了,先上我写的代码,下面是未运用空对象模式之前的示例代码: 要返回的实体代码,Person.cs: namespace NullObjec

空对象模式

在学习Head First设计模式中的“命令模式”过程中,偶然发现可以用在coding过程中的小技巧.赶紧记录,以备后用! 具体可以称之为“空对象”模式,而且专门用来处理对象为null的情形. 比如以下情形: Command接口: public interface Command { public void execute(); } 测试代码: Command[] commands = new Command[10]; // initial commands[0] and the others

【设计模式】空对象模式

在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查.Null 对象不是检查空值,而是反应一个不做任何动作的关系.这样的 Null 对象也可以在数据不可用的时候提供默认的行为. 在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方. 实现 我们将创建一个定义操作(在这里,是客户的名称)的 AbstractCustomer 抽象类,和扩展了 Abs

被遗忘的设计模式——空对象模式(Null Object Pattern)

GoF(四人帮)那本<设计模式 可复用面向对象软件的基础>可谓是设计模式方面的经典之作,其中介绍的23种设计模式, 也可谓是经典中的经典.但是,设计模式的种类绝不仅仅是这23种,除此之外还有很多巧妙可爱的设计模式值得我们学习.这些 被遗忘的设计模式,也可以堪称经典之作.今天我们来一起学习被遗忘的设计模式--空对象模式(Null Object Pattern). 一起看看这个模式会带给我们怎样的惊喜? 一.Pattern name Provide an object as a surrogate

空对象模式和扩展方法的NULL验证

using System;using System.Collections.Generic;using System.Linq;using System.Text;//空对象模式和扩展方法的NULL验证namespace Chap2_3{ public class NULLObject { public void Test() { Promation promation = PromationFactory.Create("水果促销"); Promation promation1 =