`

java package的设计原则

    博客分类:
  • java
阅读更多

    典型的J2EE项目,package的设计有成熟的套路可循,如分为domain、dao、service、action等等,职责已经分解的比较单一和 清晰,循环依赖这样的情况出现并不多。而在一般的java项目,如服务器程序、客户端程序和通用性框架的开发中,包的设计并没有套路可循,毕竟由于应用和 业务种类的不同,想得出通用性的设计套路是不大可能的。这时候遵循一些原则比之生搬硬套更为重要。在《敏捷软件开发》一书中对包的设计有深入的讨论,虽然 针对的是发布的二进制包而言,但是对于java package的设计同样有借鉴意义,如对包的内聚性、可重用性、稳定性的强调,对于依赖的探讨,这些都是比较笼统的概念,不是那么直观,需要在实际运用 中认真归纳和重构,向这些原则靠拢。
   我所想到一个比较直观的方法就是:对于一个包的描述,你是否能用一句简明扼要的话概括,也就是包的功能或者说介绍能否做到简明扼要,这是衡量一个包的设计 是否合理的最简单的方法。如果可以,显然这个包的内聚性很好,所有的类都服务于一个目的,从而带来了重用的可能(其实我对重用性并不感冒,除了工具类之外真正能重用的东西少之又少,内聚性才是需要关注的);反之,这个包可能承担了太多的职责或者依 赖过多,仔细的重构和分离是需要做的。包的设计同样要遵循接口分离的原则,将接口与实现隔离在不同的包之中,客户程序就不会知道具体的实现,并且也保证了 实现对接口的单向依赖。当然,这时就需要引入工厂类、插件或者IOC容器来负责实例化实现类。

1
0
分享到:
评论
1 楼 zhao3546 2008-09-06  
哈哈,dennis_zane 对程序设计很有心得嘛!
学习了...

相关推荐

    java 程序设计思想

    本书的核心目的是帮助新手程序员理解和掌握这些设计原则和最佳实践,从而提升他们的编程水平和思维方式。下面将详细讨论Java程序设计中的关键知识点。 1. **面向对象编程(OOP)**:Java是一种面向对象的语言,其...

    《Java程序设计》教案

    《Java程序设计》是计算机科学领域的一门重要课程,它主要教授如何使用Java语言进行...通过系统的教学和实践,学生不仅能学会编写Java程序,还能理解面向对象设计的原则和最佳实践,培养良好的编程习惯和问题解决能力。

    面向对象(Java)思想与设计原则.ppt

    本讲座将深入探讨面向对象思想及其在Java中的应用,同时结合设计原则,帮助你理解和掌握如何高效、优雅地编写代码。 一、面向对象的基本概念 1. 对象:面向对象的核心是对象,它代表现实世界中的实体,具有属性...

    Java面向对象程序设计杨晓燕面向对象基本原则和模式.pptx

    第1页/共30页 Java面向对象程序设计杨晓燕面向对象基本原则和模式全文共30页,当前为第1页。 类的UML图 UML类图显示类的三个组成部分,第一是Java中定义的类名,第二个是该类的属性,第三个是该类提供的方法。 第一...

    包设计原则

    The majority of this book covers package design principles. But first we must consider the contents of a package: classes and interfaces. The way you design them has great consequences for the ...

    java面向对象程序设计

    Java面向对象程序设计是计算机科学领域的一个重要主题,尤其对于初学者来说,它是理解现代软件开发基础的关键。本文将深入探讨Java语言中的面向对象概念,帮助初学者建立坚实的编程基础。 1. **面向对象编程(OOP)...

    JAVA程序设计第四章课后习题答案

    10. **包(Package)**:包是Java中组织类的一种方式,它提供了命名空间,避免类名冲突,同时也可以帮助进行访问控制。 课后习题通常会围绕以上知识点进行设计,包括但不限于创建类和对象、实现继承和多态、理解...

    《Java面向对象程序设计(第2版)》

    《Java面向对象程序设计(第2版)》是一本深入探讨Java编程语言的教材,尤其注重面向对象的设计原则和实践。面向对象编程(Object-Oriented Programming,简称OOP)是现代软件开发中的核心概念,Java语言正是这种编程...

    课程 Java程序设计 2 - OO Programming (怀旧版)

    在Java中,我们使用访问修饰符如`private`和`public`来实现封装原则。 - 包(Package):包是一种组织Java类和接口的方式,它提供了一个命名空间,避免了类名冲突,并有助于管理和重用代码。 在Java程序中,以下几...

    深入解读Java代码组织中的package包结构

    Java代码组织中的package包结构是Java编程语言中基础但至关重要的概念,它是管理代码模块化、防止命名冲突和促进代码重用的关键手段。本篇文章将深入解析Java中的package机制及其重要性。 首先,Package对象是Java....

    雍俊海的Java程序设计的一些课件

    Java程序设计的核心概念包括面向对象编程(OOP)原则。OOP是一种将数据和方法封装到类中的编程范式,强调数据和行为的紧密结合。在Java中,类是程序的基本单位,它定义了对象的状态(域)和行为(方法)。类可以被...

    java面向对象程序设计PPT

    8. **包(Package)**:包是Java中用来组织类的一种方式,它可以避免命名冲突,提高代码的可维护性。Java标准库中的许多类都位于特定的包下,如java.lang、java.util等。 9. **异常处理**:Java提供了异常处理机制...

    Java面向对象程序设计-电子教案

    面向对象编程(Object-Oriented Programming, OOP)是Java的基础,它基于三个主要原则:封装、继承和多态。封装允许我们将数据和操作这些数据的方法组合在一起,形成一个独立的对象。这有助于隐藏内部实现细节,提高...

    JAVA面向对象程序设计》复习试题与解

    在JAVA编程中,面向对象程序设计是核心概念之一,它基于三大原则:封装、继承和多态。在Java中,面向对象主要体现在类和对象的使用上,通过定义类来描述现实世界中的实体,以及它们之间的关系。在给定的试题中,我们...

    Java程序设计(雍俊海)ch

    5. **包(Package)**:包是组织Java类的一种方式,它可以提供命名空间,避免类名冲突,并有助于模块化开发。 6. **关键字 abstract、static、final 和 this**:`abstract`用于声明抽象类和抽象方法;`static`用于...

    Java语言层序设计基础篇

    在这个基础篇中,我们将深入探讨Java中的一些核心层序设计原则和技巧,帮助初学者建立坚实的基础。 1. **类与对象**:在Java中,一切皆为对象。类是创建对象的蓝图,它定义了对象的属性(数据成员)和行为(方法)...

    java代码规范-企业级Java开发

    【Java编码规范】是企业级Java开发中必不可少的指导原则,它确保了代码的可读性、可维护性和团队协作的高效性。本规范详细涵盖了Java编程中的命名约定和注释约定。 **命名约定** 1. **包(Package)**:包名应使用...

    JAVA2深度历险.

    深入理解这些概念,可以帮助我们设计出更符合面向对象原则的代码结构。 其次,`javac`是Java的编译器,它将源代码编译成字节码,这是Java程序能在不同平台上运行的关键。理解`javac`的工作流程,包括语法分析、类型...

    Java 包的使用

    Java的包管理是为了解决类名冲突、提高代码的可重用性和可维护性而设计的。下面将详细介绍Java包的使用及其相关知识点。 首先,我们来看一下Java包的定义和作用: 1. **定义**:Java包是一组相关的类和接口的集合...

    《Java程序设计》教学大纲.doc

    在《Java程序设计》的教学大纲中,课程的目标是让学生理解和掌握面向对象程序设计的基本概念、思想和方法,特别是Java语言的核心技术和面向对象编程的原则。这门课程对于计算机科学与技术以及软件工程专业的本科学生...

Global site tag (gtag.js) - Google Analytics