domain model设计模式

domain model设计模式

ID:19238676

大小:31.70 KB

页数:13页

时间:2018-09-30

domain model设计模式_第1页
domain model设计模式_第2页
domain model设计模式_第3页
domain model设计模式_第4页
domain model设计模式_第5页
资源描述:

《domain model设计模式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、刚才在javaeye看到了robbin等人关于DomainModel的讨论。这里想总结一下做为笔记。呵呵[@more@]robbin总结的常用主流三种方式:一个实体类叫做Item,指的是一个拍卖项目 一个DAO接口类叫做ItemDao 一个DAO接口实现类叫做ItemDaoHibernateImpl 一个业务逻辑类叫做ItemManager(或者叫做ItemService) java代码: public class Item implements Serializable {    private Long id= null;    private int version;  

2、  private String name;    private Userseller;    private String description;    private MonetaryAmountinitialPrice;    private MonetaryAmountreservePrice;    private Date startDate;    private Date endDate;    private Set categorizedItems= new HashSet();    private Collection bids= new Array

3、List();    private BidsuccessfulBid;    private ItemStatestate;    private UserapprovedBy;    private Date approvalDatetime;    private Date created= new Date();    // getter/setter方法省略不写,避免篇幅太长 }java代码: public interface ItemDao {    public ItemgetItemById(Long id);    public Collection find

4、All();    public void updateItem(Itemitem); }ItemDao定义持久化操作的接口,用于隔离持久化代码。 java代码: public class ItemDaoHibernateImpl implements ItemDao extends HibernateDaoSupport {    public ItemgetItemById(Long id) {      return (Item) getHibernateTemplate().load(Item.class,id);    }    public Collection f

5、indAll() {      return (List) getHibernateTemplate().find("fromItem");    }    public void updateItem(Itemitem) {     getHibernateTemplate().update(item);    } }ItemDaoHibernateImpl完成具体的持久化工作,请注意,数据库资源的获取和释放是在ItemDaoHibernateImpl里面处理的,每个DAO方法调用之前打开Session,DAO方法调用之后,关闭Session。(Session放在Thread

6、Local中,保证一次调用只打开关闭一次) java代码: public class ItemManager {    private ItemDaoitemDao;    public void setItemDao(ItemDaoitemDao) { this.itemDao =itemDao;}    public BidloadItemById(Long id) {     itemDao.loadItemById(id);    }    public Collection listAllItems() {      return itemDao.findAll();

7、    }    public BidplaceBid(Itemitem,Userbidder,MonetaryAmountbidAmount,               BidcurrentMaxBid,BidcurrentMinBid) throws BusinessException {        if (currentMaxBid!= null &¤tMaxBid.getAmount().compareTo(bidAmount) > 0) {       throw

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。