`
Tony_Lee-S
  • 浏览: 82475 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

类的设计原则

 
阅读更多

一、内聚性

类应该描述一个单一的实体,而所有的类操作应该在逻辑上相互配合,支持一个连贯性的目标。例如:可以专门为学生使用一个类,但不应该将学生与教职式组合在同一个类中,因为学生和教职工是不同的实体。

如果一个实体担负太多的职责,就应该按各自的职责分成几个类。例如:String类、StringBuilder类和StringBuffer类都用于处理字符串,但是它们的职责不同。String类处理不可变字符串,StringBuilder类创建可变字符串,StringBuffer与StringBuilder类似,只是StringBuffer类还包含更新字符串的同步方法。

二、一致性

遵循标准Java程序设计风格和命名习惯。给类、数据域和方法选择有信息量的名字。流行的风格是将数据声明置于构造方法之前,并且将构造方法置于方法之前。

选择名字要保持一致。给类似的操作选择不同的名字并非好的习惯。例如:length()方法返回String、StringBuilder和StringBuffer的大小。如果在这些类中给这个方法用不同的名字就不一致了。

一般来说,应该一律提供一个为构造默认实例的公共无参构造方法。如果一个类不支持无参构造方法,要用文档写出原因。如果没有显式定义构造方法,就假定有一个空方法体的公共默认无参构造方法。

如果不想让用户创建类的对象,可以在类中声明一个私有的构造方法,就像Math类的情况一样。

三、封装性

一个类应该使用private修饰符隐藏其数据,以免用户直接访问它。这使得类更易于维护。

如果想让数据域可读,只需提供get方法。如果想让数据域可更新,应该提供set方法。

四、清晰性

为使设计清晰,内聚性、一致性和封装性都是很好的设计原则。除此之外,类应该有一个很清晰的合约,易于解释和理解。

用户可以以多种不同组合和顺序,在许多不同环境中结合多个类。因此,应该设计一个类,这个类应该没有对用户使用目的及使用时间的限制,设计属性以容许用户按值的任何顺序和任何组合来设置,所设计的方法实现的功能应该与它们出现的顺序无关。

方法应在不产生混淆的情况下凭直觉来定义。例如:String类中substring(int beginIndex,int endIndex)方法就有一点混乱。这个方法返回从beginIndex到endIndex-1而不是endIndex的子串。

不应该声明一个来自其他数据域的数据域。例如,下面的Person类有两个数据域:birthDate和age。由于age可以从birthDate导出,所以age不应该声明为数据域。

public class Person {
   private java.util.Date birthDate;
   private int age;
   . . .
}

五、完整性

类经常是为许多不同用户的使用而设计的。为了能在一个广泛的应用中使用,一个类应该通过属性和方法提供多种方案以适应用户的不同需求。例如:为满足不同的应用需求,String类包含了40多种很实用的方法。

分享到:
评论

相关推荐

    面向对象的设计原则——类设计原则

    其中,类设计原则尤为关键,它们指导着开发者如何合理地构建类,以适应不断变化的需求。以下是对给定文件中提及的几个类设计原则的深入探讨。 ### 1. 单一职责原则 单一职责原则强调一个类应该专注于实现单一的...

    类设计原则

    在软件开发中,类设计原则是构建高效、可维护、可扩展代码的关键所在。这些原则指导着我们如何构造和组织类,以实现良好的面向对象设计。以下是对"类设计原则"的详细阐述: 1. 单一职责原则(Single Responsibility...

    24种设计模式介绍与6大设计原则

    下面我将详细阐述这24种设计模式,并结合6大设计原则,以确保设计的合理性与优雅。 1. 策略模式(Strategy Pattern):定义了一系列算法,并将每个算法封装起来,使它们可以互换使用。策略模式让算法的变化独立于...

    c#程序设计-类设计-练习题及答案.docx

    类设计原则 在类设计中,我们遵循了面向对象编程的基本原则,包括: * 继承性:经理类继承自员工类,研究生类继承自学生类。 * 封装性:员工类、经理类、学生类和研究生类都使用私有成员字段来存储数据,并提供...

    系统总体设计原则汇总.doc

    以下是对各个设计原则的详细说明: 1. **系统总体设计原则**: - **统一设计原则**:这强调了在设计时需全局考虑,包括应用系统结构、数据模型、存储和扩展规划,确保一致性。 - **先进性原则**:采用成熟且先进...

    JAVA 24种设计模式介绍与6大设计原则.pdf

    而对于其他模式和原则,应以类似的方式进行学习和应用,不断深入理解每个设计模式的特点和适用场景,以及设计原则的核心指导思想,最终能够在实际开发中灵活运用,编写出高质量、高内聚低耦合、易于扩展的代码。

    java设计 原则61条

    ### Java设计原则详解 #### 一、基本原则与实践 **原则1:避免不必要的代码重复** 根据Arthur J. Riel的观点,在设计时应当避免代码的重复。例如在第13页提到,应尽量减少相似功能模块的重写,这有助于提高代码的...

    软件设计的七大原则.doc

    软件设计的七大原则是软件设计的精髓所在,这七大原则分别是开闭原则、里氏代换原则、依赖倒置原则、接口隔离原则、合成/聚合复用原则、迪米特法则和抽象类原则。 一、 开闭原则(OCP) 开闭原则是指一个软件实体...

    C++设计原则 完整整理 快速理解设计原则

    面向对象设计原则是软件开发中不可或缺的指导方针,它们旨在提升软件的可维护性和复用性,从而提高开发效率和质量。C++作为一门支持面向对象编程的语言,遵循这些原则可以使代码更加健壮和易于扩展。以下是7个常用的...

    面向对象设计原则.ppt

    面向对象设计原则是软件开发中至关重要的一环,它关乎到代码的可维护性、扩展性和复用性。本文将深入探讨这些原则,并结合实例来解释它们的重要性。 首先,我们需要理解面向对象不仅仅是编程语言中的概念,如封装、...

    软件设计6原则

    为了达到这样的设计目标,业界总结了一系列设计原则,这些原则被统称为“软件设计6原则”,它们分别是:单一责任原则(Single Responsibility Principle,简称SRP)、开放封闭原则(Open/Closed Principle,简称OCP...

    设计模式六大原则与类的六种关系

    设计模式六大原则与类的六种关系 设计模式六大原则是软件设计中遵循的一些基本原则,目的是为了使软件设计更加灵活、可维护和可扩展。六大原则分别是:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、...

    swift-面向对象设计的设计原则和设计模式

    设计原则和设计模式是OOD的核心概念,它们为开发者提供了指导思想和最佳实践,以创建可维护、可扩展和易于理解的代码。在Swift中,遵循这些原则和模式可以帮助我们编写出更加灵活和高效的软件。 面向对象设计的原则...

    java设计的两本图书

    这两本书——"可复用的程序设计.pdf"和"面向对象的设计原则-类设计原则.pdf"——聚焦于提升Java程序员的设计技能和理解面向对象编程的核心原则。 首先,"可复用的程序设计"这本书可能涵盖了软件重用的概念,这是...

    android 24种设计模式介绍与6大设计原则

    在Android开发中,设计模式和设计原则是提升代码质量、可维护性和可扩展性的重要工具。以下是关于"Android 24种设计模式介绍与6大设计原则"的详细阐述: 一、六大设计原则 1. **单一职责原则(Single ...

    框架设计原则

    ### 框架设计原则与Dubbo设计原理详解 #### 一、框架设计的重要性 在软件开发领域,框架设计的好坏直接影响着项目的可维护性、可扩展性和整体性能。一个优秀的设计不仅能够提升开发效率,还能减少后期维护成本。...

    面向对象设计模式设计原则

    通过以上三个面向对象的设计原则,我们可以构建出更加健壮、灵活且易于维护的软件系统。这些原则不仅适用于特定的语言环境,而且对于所有的面向对象编程语言都有普遍的意义。理解和掌握这些原则,对于提升软件开发的...

Global site tag (gtag.js) - Google Analytics