`
javaOpen
  • 浏览: 124478 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

继承的设计重构

    博客分类:
  • JPA
阅读更多
【转】http://blog.csdn.net/EJB_JPA/archive/2008/05/12/2437211.aspx
进一步学习了继承的几种策略,下面对图所设计的类进行重构。重构完成后的类继承关系示意图如图所示。

在进行重构是考虑这样几方面的问题:

l         基类实体EmployeeEO继承自非实体类BaseEO。这样设计的好处是,可以将非持久化的一些属性和方法放到BaseEO中,这样在实体中则不必须将非持久的方法使用@Transient标注了。

l         将ContractEmployeeEO类同时定义为abstract类型并且标注为@MappedSuperclass。这样设计的好处是,abstract类是Java本身的抽象,而MappedSuperclass是在实体映射中的抽象,存在这两种方式的类型目的是类似的。所以此时ContractEmployeeEO的代码如以下所示:

@DiscriminatorValue("contract")

@MappedSuperclass

public abstract class ContractEmployeeEO extends EmployeeEO {

         /**可以定义一些抽象方法,但该实体不能进行EQL查询*/

}



分享到:
评论

相关推荐

    C++ 类特性 多态性,继承,派生,重构 等

    在C++编程语言中,类是面向对象编程的基础,它提供了封装、继承、多态性和派生等核心特性。下面将详细阐述这些概念及其在实际编程中的应用。 **1. 类(Class)** 类是C++中定义数据类型的一种方式,它描述了一组...

    重构 _改善既有代码的设计(中文版) pdf

    书中的重构方法被分为几个不同的类别,如:简化函数调用、处理继承结构、优化数据结构、处理大型类、处理条件语句等。这些方法不仅为程序员提供了一种技术手段来提高代码质量,还从更高的层次上改善了软件的设计。...

    重构 改善既有代码的设计 pdf 中文

    重构可以应用于很多层面,包括但不限于将方法提取到新的函数中、将代码上下移动于不同的类或继承体系中、甚至是将代码重构到新的语句下。 书中还提供了许多实际例子,帮助读者理解重构的应用,每个重构步骤都伴随着...

    重构糟糕设计的五步技能链

    为了解决这些问题,温昱老师提出了一套系统的重构方法——ARCT设计重构方法论,旨在帮助开发者通过一套明确的步骤,有效提升代码质量。本文将详细介绍这一方法论,并基于案例分析,深入探讨如何运用五步技能链来重构...

    重构-改善既有代码的设计

    2.6 重构与设计 66 2.7 重构与性能 69 2.8 重构起源何处 71 第3章 代码的坏味道 75 3.1 Duplicated Code(重复代码) 76 3.2 Long Method(过长函数) 76 3.3 Large Class(过大的类) 78 3.4 Long ...

    重构_重构_改善既有代码_

    5. 使用聚合取代继承(Replace Inheritance with Delegation):当继承关系复杂时,可以考虑用组合或委托来代替,使设计更灵活。 重构不仅仅是技术操作,更是一种思维方式。它强调代码的可读性和可维护性比暂时的...

    设计模式与重构(design pattern )

    设计模式与重构是软件开发中的两个重要概念,它们在提高代码质量、可维护性和扩展性方面发挥着关键作用。设计模式是经验丰富的开发者们在解决常见问题时总结出的最佳实践,而重构则是在不改变软件外部行为的前提下,...

    重构,改善既有代码的设计

    此外,Fowler还介绍了一些重构的高级技术,比如如何移动特性(将代码或变量移动到其他类中)、如何利用继承(提升代码的复用性)、以及如何将代码分解成更小的函数或方法等。这些高级技术的应用,往往需要开发者的...

    重构(Refactoring)英文版

    ### 重构(Refactoring):改善现有代码的设计 #### 一、重构概念解析 重构(Refactoring)是一种软件工程中的重要技术,它指的是在不改变软件系统外部行为的前提下,通过改进其内部结构来提高代码质量的过程。重构...

    重构——改善既有代码的设计

    通过重构,开发者可以更好地利用Java的特性,如继承、多态和接口,来优化代码结构,降低耦合度,提高模块化程度。 书中的重构技术不仅适用于Java,大多数原则和技巧也可以应用到其他面向对象编程语言中。学习和实践...

    设计模式与重构经典(C#)

    《戏说面向对象程序设计C#版.pdf》则可能是以轻松幽默的方式介绍了面向对象编程的基础知识,包括封装、继承和多态等核心概念。面向对象编程是C#的基础,理解这些概念对于学习设计模式和重构至关重要。书中的例子和...

    一种可重构计算系统设计与实现

    为了解决这一问题,可重构计算系统作为一种新兴的技术应运而生,它不仅继承了通用处理器的灵活性,还兼具了ASIC高效的特点。 #### 二、可重构计算系统概述 **可重构计算系统**是一种新型的计算架构,它通过采用可...

    重构:改善既有代码的设计.[美]Martin Fowler.epub【文字版手机格式】

    2.6 重构与设计 2.7 重构与性能 2.8 重构起源何处 第3章 代码的坏味道 3.1 Duplicated Code(重复代码) 3.2 Long Method(过长函数) 3.3 Large Class(过大的类) 3.4 Long Parameter List(过长参数列) 3.5 ...

    重构重构重构

    《重构:改善既有代码的设计》是一本由Martin Fowler所著的经典IT著作,它在软件开发领域具有极高的影响力。重构是提升代码质量、可读性和维护性的重要手段,旨在不改变代码外在行为的前提下,改进其内部结构。在这...

    重构改善既有代码的设计(PDF)

    《重构改善既有代码的设计》这本书主要介绍如何在现有的代码基础上进行重构以改善设计。重构,即对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。本书以Java语言...

Global site tag (gtag.js) - Google Analytics