一、内聚性
类应该描述一个单一的实体,而所有的类操作应该在逻辑上相互配合,支持一个连贯性的目标。例如:可以专门为学生使用一个类,但不应该将学生与教职式组合在同一个类中,因为学生和教职工是不同的实体。
如果一个实体担负太多的职责,就应该按各自的职责分成几个类。例如: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大设计原则,以确保设计的合理性与优雅。 1. 策略模式(Strategy Pattern):定义了一系列算法,并将每个算法封装起来,使它们可以互换使用。策略模式让算法的变化独立于...
类设计原则 在类设计中,我们遵循了面向对象编程的基本原则,包括: * 继承性:经理类继承自员工类,研究生类继承自学生类。 * 封装性:员工类、经理类、学生类和研究生类都使用私有成员字段来存储数据,并提供...
以下是对各个设计原则的详细说明: 1. **系统总体设计原则**: - **统一设计原则**:这强调了在设计时需全局考虑,包括应用系统结构、数据模型、存储和扩展规划,确保一致性。 - **先进性原则**:采用成熟且先进...
### 设计模式六大原则详解 #### 一、开闭原则(Open-Closed Principle) **含义:** 开闭原则强调的是“对扩展开放,对修改关闭”。这意味着系统的设计应该是灵活的,能够轻松地添加新的功能而不需要修改现有代码...
而对于其他模式和原则,应以类似的方式进行学习和应用,不断深入理解每个设计模式的特点和适用场景,以及设计原则的核心指导思想,最终能够在实际开发中灵活运用,编写出高质量、高内聚低耦合、易于扩展的代码。
### Java设计原则详解 #### 一、基本原则与实践 **原则1:避免不必要的代码重复** 根据Arthur J. Riel的观点,在设计时应当避免代码的重复。例如在第13页提到,应尽量减少相似功能模块的重写,这有助于提高代码的...
软件设计的七大原则是软件设计的精髓所在,这七大原则分别是开闭原则、里氏代换原则、依赖倒置原则、接口隔离原则、合成/聚合复用原则、迪米特法则和抽象类原则。 一、 开闭原则(OCP) 开闭原则是指一个软件实体...
面向对象设计原则是软件开发中不可或缺的指导方针,它们旨在提升软件的可维护性和复用性,从而提高开发效率和质量。C++作为一门支持面向对象编程的语言,遵循这些原则可以使代码更加健壮和易于扩展。以下是7个常用的...
面向对象设计原则是软件开发中至关重要的一环,它关乎到代码的可维护性、扩展性和复用性。本文将深入探讨这些原则,并结合实例来解释它们的重要性。 首先,我们需要理解面向对象不仅仅是编程语言中的概念,如封装、...
为了达到这样的设计目标,业界总结了一系列设计原则,这些原则被统称为“软件设计6原则”,它们分别是:单一责任原则(Single Responsibility Principle,简称SRP)、开放封闭原则(Open/Closed Principle,简称OCP...
设计模式六大原则与类的六种关系 设计模式六大原则是软件设计中遵循的一些基本原则,目的是为了使软件设计更加灵活、可维护和可扩展。六大原则分别是:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、...
设计原则和设计模式是OOD的核心概念,它们为开发者提供了指导思想和最佳实践,以创建可维护、可扩展和易于理解的代码。在Swift中,遵循这些原则和模式可以帮助我们编写出更加灵活和高效的软件。 面向对象设计的原则...
这两本书——"可复用的程序设计.pdf"和"面向对象的设计原则-类设计原则.pdf"——聚焦于提升Java程序员的设计技能和理解面向对象编程的核心原则。 首先,"可复用的程序设计"这本书可能涵盖了软件重用的概念,这是...
在Android开发中,设计模式和设计原则是提升代码质量、可维护性和可扩展性的重要工具。以下是关于"Android 24种设计模式介绍与6大设计原则"的详细阐述: 一、六大设计原则 1. **单一职责原则(Single ...
### 框架设计原则与Dubbo设计原理详解 #### 一、框架设计的重要性 在软件开发领域,框架设计的好坏直接影响着项目的可维护性、可扩展性和整体性能。一个优秀的设计不仅能够提升开发效率,还能减少后期维护成本。...
通过以上三个面向对象的设计原则,我们可以构建出更加健壮、灵活且易于维护的软件系统。这些原则不仅适用于特定的语言环境,而且对于所有的面向对象编程语言都有普遍的意义。理解和掌握这些原则,对于提升软件开发的...