您当前的位置: 首页 > 

命运之手

暂无认证

  • 1浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【设计模式】【28】空对象模式

命运之手 发布时间:2022-05-04 15:32:45 ,浏览量:1

应用场景

空对象模式,英文名Null Object Pattern

该模式通过一个特殊的子类或常量,来代替null,这个特殊的变量可以像正常对象一样被调用,但是它什么也不会做

这种设计方式主要用来避免繁琐的空指针判断,不用去判断空指针,也不会因为失误而产生空指针异常

代码实现


	public interface Book {
	
	    default boolean isNull() {
	        return false;
	    }
	
	    void display();
	}
	
	public class NormalBook implements Book {
	
	    @Override
	    public void display() {
	        System.out.print("this is a real book");
	    }
	}
	
	public class NullBook implements Book {
	
	    @Override
	    public boolean isNull() {
	        return true;
	    }
	
	    @Override
	    public void display() {
	        System.out.print("null book, do nothing");
	    }
	}


	public class BookDAO {
	
	    public static final Book NULL = new NullBook();
	
	    public static Book getBook(int id) {
	        if (id             
关注
打赏
1654938663
查看更多评论
0.0376s