zoukankan      html  css  js  c++  java
  • 02.设计模式_NullObject模式

    使用NULL OBJECT模式,我们可以确保返回的总是有效的对象,即使失败时也代表对象什么也不做。

    下面以一个数据库查询的示例来演示空对象模式。

    1.Employe实体对象空对象的接口

    Employe.java

     1 package com.design.patterns01.nullobject;
     2 
     3 public interface Employee {
     4     public void pay();
     5     /**
     6      *使用匿名内部类是一种确保该类只有一个唯一的(NULL)实例。实际上不存在NullEmployee类本身
     7      */
     8     public static final Employee NULL = new Employee(){
     9         @Override
    10         public void pay() {}
    11     };
    12 
    13 }

    2.数据库查询
    DB.java

    1 package com.design.patterns01.nullobject;
    2 
    3 public class DB {
    4     public static Employee getEmployee(String name){
    5         //这里为了测试只返回了Employee.NULL
    6         return Employee.NULL;
    7     } 
    8 
    9 }


    3.测试空对象

    TestEmployee

     1 package com.design.patterns01.nullobject;
     2 
     3 import static org.junit.Assert.assertEquals;
     4 
     5 import org.junit.Test;
     6 
     7 public class TestEmployee {
     8     @Test
     9     public void testNull(){
    10         String name = "zhangsan";
    11         Employee e = DB.getEmployee(name);
    12         e.pay();
    13         if(Employee.NULL == e) System.out.println("该对象是空对象!");
    14         assertEquals(Employee.NULL, e);
    15     }
    16 
    17 }
  • 相关阅读:
    TreeView控件应用(包含递归调用)
    FTP操作(FTPClient)
    利用正则表达式 进行字符的判断
    复合查询
    NPOI操作
    导航特效
    拼音检索
    项目中的注意事项
    计算文件的MD5值上传到服务器 下载验证文件是否被篡改
    OLE Automation (C#读取EXCEL)
  • 原文地址:https://www.cnblogs.com/zhangshiwen/p/4331371.html
Copyright © 2011-2022 走看看