LearningLog.Mememto Pattern
来源:互联网 发布:科比09年总决赛数据 编辑:程序博客网 时间:2024/06/03 21:38
<FROM Java Database Best Practise>
在各tier之间传递value的时候,不是传递的BO,也没有自行开发Data Object,而是使用所谓Mememto的Pattern,具体用HashMap作为Data Object。而在Data Object中的属性存取上,利用在BO中定义的Constant Name作为属性名,以避免拼写错误并方便编程。
Eg. BO Emplyee 及 DAO EmployeeDAO的写法。
Employee.java
package ee.mememto;
import java.util.*;
public class Employee ...{
public static final String EMP_ID = "emp_id";
public static final String EMP_NAME = "emp_name";
public static final String EMAIL = "email";
public static final String IS_ACTIVE = "is_active";
public static final String CREATED = "created";
private Long empId = null;
private String empName = null;
private String email = null;
private Boolean isActive = null;
private Date created = null;
public static Employee create(HashMap data)...{
Employee emp = null;
Long id = new Long(1L);
data.put(Employee.EMP_ID, id);
emp = new Employee(id,data);
return emp;
}
private Employee(Long id,HashMap data)...{
empId = id;
load(data);
}
private void load(HashMap data)...{
empName = (String)data.get(Employee.EMP_NAME);
email = (String)data.get(Employee.EMAIL);
isActive = (Boolean)data.get(Employee.IS_ACTIVE);
created = (Date)data.get(Employee.CREATED);
}
}
import java.util.*;
public class Employee ...{
public static final String EMP_ID = "emp_id";
public static final String EMP_NAME = "emp_name";
public static final String EMAIL = "email";
public static final String IS_ACTIVE = "is_active";
public static final String CREATED = "created";
private Long empId = null;
private String empName = null;
private String email = null;
private Boolean isActive = null;
private Date created = null;
public static Employee create(HashMap data)...{
Employee emp = null;
Long id = new Long(1L);
data.put(Employee.EMP_ID, id);
emp = new Employee(id,data);
return emp;
}
private Employee(Long id,HashMap data)...{
empId = id;
load(data);
}
private void load(HashMap data)...{
empName = (String)data.get(Employee.EMP_NAME);
email = (String)data.get(Employee.EMAIL);
isActive = (Boolean)data.get(Employee.IS_ACTIVE);
created = (Date)data.get(Employee.CREATED);
}
}
EmployeeDAO.java
package ee.mememto;
import java.util.*;
public class EmployeeDAO ...{
public static HashMap getEmployee(long id)...{
HashMap data = new HashMap();
return data;
}
public static void create(HashMap data)...{
}
public static void save(HashMap data)...{
}
public static void remove(HashMap data)...{
}
}
import java.util.*;
public class EmployeeDAO ...{
public static HashMap getEmployee(long id)...{
HashMap data = new HashMap();
return data;
}
public static void create(HashMap data)...{
}
public static void save(HashMap data)...{
}
public static void remove(HashMap data)...{
}
}
--END
- LearningLog.Mememto Pattern
- 设计模式总结之Mememto Pattern(备忘录模式)
- LearningLog.GZIPFilter
- Mememto 备忘录模式
- LearningLog.PK的选择及ID的产生机制
- pattern
- pattern
- Pattern
- Pattern
- Pattern
- Pattern
- Pattern
- (?:pattern) (?=pattern) (?!pattern)
- 正则表达式之 pattern+?、pattern*?、(?!pattern)、(?:pattern)
- Iterator Pattern & Composite Pattern
- Design pattern----Facade Pattern
- Design pattern----Strategy Pattern
- Design Pattern --------Observer pattern
- 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
- Visual C++/MFC入门教程(一)
- how to write a a paper
- Vista风格png图标 > 素材列表 http://www.zcool.com.cn/png/vista/
- [转]脱带KEY的ARM双进程的壳
- LearningLog.Mememto Pattern
- ASP.NET 实现通过URL 获取远程的图片或者文件方法
- 在java程序中获得yahoo quote服务器的股票信息
- UNIX与C语言
- vista 模板
- 掌握 Ajax,第 11 部分: 服务器端的 JSON
- 利用C#反射为DO映射对象数组生成一个用于列表显示的通用解决方案
- 使用 ASP.NET 加密口令
- 一个关于Timer()的例子..