类的设计原则
来源:互联网 发布:朝鲜核试验 知乎 编辑:程序博客网 时间:2024/06/06 00:51
一、内聚性
类应该描述一个单一的实体,而所有的类操作应该在逻辑上相互配合,支持一个连贯性的目标。例如:可以专门为学生使用一个类,但不应该将学生与教职式组合在同一个类中,因为学生和教职工是不同的实体。
如果一个实体担负太多的职责,就应该按各自的职责分成几个类。例如: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多种很实用的方法。
- 类的设计原则
- 类的设计原则
- 类的设计原则
- 类的设计原则
- 类的设计原则
- 类的设计原则
- 类的设计原则
- Java类的设计原则
- 类设计的一个原则
- 类的设计原则思考
- Java类的设计原则
- 类的设计原则【转】
- 类的设计原则--OOD
- 类的设计原则总汇
- 类的接口设计原则
- 类的设计SOLID原则
- 面向对象的设计原则-类设计原则
- 面向对象的设计原则-类设计原则(转载)
- Android的布局方法
- Android的常见错误及解决办法
- Java语言的字符和字符串的处理方法
- 依照模式匹配、替换和分隔字符串
- 格式化字符串
- 类的设计原则
- 访问 IIS 元数据库失败解决方法
- 关于继承的一些知识
- 动态绑定
- 对象转换和instanceof运算符
- android : emulater命令详解
- 数组线性表ArrayList
- protected数据和方法
- 抽象类