• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

面向 Java 开发人员的 db4o 指南: 数组和集合

发布: 2008-6-26 13:48 | 作者: 不详 | 来源: 测试时代编辑整理 | 查看: 63次 | 进入软件测试论坛讨论

领测软件测试网

在本系列的前一篇文章中,我开始谈到了 db4o 如何处理 结构化对象,或者包含非原始类型字段的对象。正如我所展示的那样,增加对象关系的复杂性对 db4o 持久模型有一些重大的影响。我谈到了在删除期间解决像激活深度(activation depth)、级联更新与删除和参照完整性等问题的重要性。我还介绍了一种叫做 探察测试 的开发人员测试策略,附带给出了使用 db4o API 的第一个练习。

在本文中,我继续介绍 db4o 中结构化对象的存储和操作,并首先介绍多样性关系(multiplicity relationship),在多样性关系中,对象中含有对象集合形式的字段。(在此,集合 是指像 ArrayList 之类的 Collection 类和标准语言数组。)您将看到,db4o 可以轻松处理多样性。您还将进一步熟悉 db4o 对级联更新和激活深度的处理。

 关于本系列
信息存储和检索作为 RDBMS 的同义词已经有 10 来年了,但现在情况有所改变。Java 开发人员尤其厌倦于所谓的对象关系型阻抗失配,也对试图解决这个问题失去了耐心。再加上可行的替代方案的出现,就导致了人们对对象持久性和检索的兴趣的复苏。 面向 Java 开发人员的 db4o 指南 对 db4o 作了介绍,它是一种充分利用当前的面向对象的语言、系统和理念的开放源代码数据库。为了实践本系列中的例子,您需要下载 db4o。
 
处理多样性关系

随着这个系列深入下去,之前的 Person 类肯定会变得更加复杂。在 关于结构化对象的上一次讨论 结束的时候,我在 Person 中添加了一个 spouse 字段和一些相应的业务逻辑。在那篇文章的最后我提到,舒适的家庭生活会导致一个或更多 “小人儿” 降临到这个家庭。但是,在增加小孩到家庭中之前,我想先确保我的 Person 真正有地方可住。我要给他们一个工作场所,或者还有一个很好的夏日度假屋。一个 Address 类型应该可以解决所有这三个地方。

 

清单 1. 添加一个 Address 类型到 Person 类中
               
package com.tedneward.model;

public class Address
{
    public Address()
    {
    }
   
    public Address(String street, String city, String state, String zip)
    {
        this.street = street; this.city = city;
        this.state = state; this.zip = zip;
    }
   
    public String toString()
    {
        return "[Address: " +
                "street=" + street + " " +
                "city=" + city + " " +
                "state=" + state + " " +
                "zip=" + zip + "]";
    }
   
    public int hashCode()
    {
        return street.hashCode() & city.hashCode() &
            state.hashCode() & zip.hashCode();
    }
   
    public boolean equals(Object obj)
    {
        if (obj == this)
            return this;
           
        if (obj instanceof Address)
        {
            Address rhs = (Address)obj;

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: java JAVA Java 开发 指南


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网