设计模式之空对象(Null Object)模式
2014-09-03 23:00
253 查看
通过引用Null Object,用于取消业务逻辑中对对象的为空判断
类图:
Nullable:
Group:
NullGroup:
User:
UserService:
类图:
Nullable:
package com.demo.user; public interface Nullable { boolean isNull(); }
Group:
package com.demo.user; public class Group implements Nullable{ private int groupId; private String groupName; public int getGroupId() { return groupId; } public void setGroupId(int groupId) { this.groupId = groupId; } public String getGroupName() { return groupName; } public void setGroupName(String groupName) { this.groupName = groupName; } public boolean isNull() { return true; } }
NullGroup:
package com.demo.user; public class NullGroup extends Group { private NullGroup() { } @Override public int getGroupId() { return 9999999; } @Override public boolean isNull() { return false; } static Group createNull(){ return new NullGroup(); } }
User:
package com.demo.user; public class User { private int userId ; private String userName; private Group group; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public Group getGroup() { //判断返回一个NullGroup对象 return group==null?NullGroup.createNull():group; } public void setGroup(Group group) { this.group = group; } }
UserService:
package com.demo.user; public class UserService { public void add(User user){ //获取groupId int groupId=user.getGroup().getGroupId(); //doing something } }
相关文章推荐
- 设计模式之美:Null Object(空对象)
- 【设计模式 - 21】之空对象模式(Null Object)
- 被遗忘的设计模式——空对象模式(Null Object Pattern)
- 被遗忘的设计模式——空对象模式(Null Object Pattern)
- 【设计模式】空对象模式(Null Object Pattern)
- Java 空对象设计模式(Null Object Pattern) 讲解
- 设计模式:空对象模式(Null Object Pattern)
- 【设计模式 - 21】之空对象模式(Null Object)
- 设计模式学习—空对象模式(Null Object Design Pattern)
- [翻译]空对象设计模式(Null Object Design Pattern)
- 被遗忘的设计模式——空对象模式(Null Object Pattern)
- Java 空对象设计模式(Null Object Pattern) 讲解
- 设计模式之空对象(Null Object)模式
- 设计模式:空对象模式(Null Object Pattern)
- 设计模式:空对象模式(Null Object Pattern)
- CSharp面向对象设计模式纵横谈--面向对象设计模式与原则 听课笔记
- 设计模式之职责链(chain of responsibility)---对象行为型模式
- 设计模式之代理(Proxy)----对象结构型模式
- [导入]C#面向对象设计模式纵横谈(3):Abstract Factory 抽象工厂模式(创建型模式)
- [导入]C#面向对象设计模式纵横谈(4):Abstract Factory 抽象工厂模式(创建型模式)