13.10类的设计原则

  • 内聚性

  类应该描述一个单一的实体,而所有的类操作应该在逻辑上相互配合,支持一个一致的目的。

  • 一致性

  遵循标准Java程序设计风格和命名习惯。

  • 封装性

  一个类应该使用private修饰符隐藏其数据,以免用户直接访问。

  • 清晰性

  为使设计清晰,内聚性、一致性和封装性都是很好的设计原则。

  • 完整性
  • 实例和静态

  依赖与类的具体实例的变量或方法必须是一个实例白能量或方法。如果一个变量被类的所有实例所共享,那就应该将他声明为静态的。

  • 继承与聚合

  集成和聚合之间的差异,就是is-a(是一种)和has-a(具有)之间的关系。例如苹果是一种水果,人具有名字。

  • 接口和抽象

  接口和抽象都可以用于为对象指定共同的行为。如何决定是采用接口还是类呢?通常,比较强的is-a(是一种)关系清晰的描述了父子关系,应该采用类来建模。例如苹果是一种水果,他们之间的关系就应该采用类的集成关系来建模。弱的is-a关系,也称为is-kind-of(是一类)关系,表明一个对象具有某种属性。弱的is-a关系可以使用接口来建模。例如所有的字符串都是可比较的,因此String类实现了comparable接口。

原文地址:https://www.cnblogs.com/cglib/p/11976339.html

时间: 2024-10-07 17:24:44

13.10类的设计原则的相关文章

项目设计之---------- 类的设计原则

类的设计最好遵循5大原则,1.单一指责原则,2.开放封闭原则,3.liskov替换原则,4.依赖倒置原则(抽象不应依赖于具体,相反,具体应该依赖于抽象),5.接口隔离原则(就是接口细分,一个接口内的方法应该是用户都需要的).具体参考<敏捷软件开发>第2部分(第98页) 类的设计估计要用到许多模式,注意参考各种设计模式,具体参考<设计模式>.<大话设计模式>.<敏捷软件开发>等都有说到 项目设计之---------- 类的设计原则

类的设计原则

刚接触设计模式的时候我就被它的优雅给吸引了,发现原来代码还可以这样写,当时的我入了迷. 记得看的第一本设计模式的书籍叫<大话设计模式>,当时的我还不能完全理解里面的思想,但并不妨碍我被它的优雅给吸引,这本书我看了3遍,直到现在感觉还是有点乱,在这整理一下自己的思路,加深一下自己的理解. 类的设计原则: 开闭原则:在面对对象设计的中,应该遵循对扩展开放,对修改关闭. 开闭原则实现方法: 为了满足开闭原则,我们这软件设计中应该将不变的部分抽象出来,定义成不变的接口(或抽象类),模块之间调用通过抽象

Java程序员应该了解的10个面向对象设计原则

面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorator.Observer这样的设计模式,而不重视面向对象的分析和设计.甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程. 众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计.查看Ap

(转载)Java程序员应当知道的10个面向对象设计原则

面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) . Decorator(装饰器).Observer(观察者) 等设计模式,而没有把足够多的注意力放在学习面向对象的分析和设计上面.学习面向对象编程像"抽象"."封装"."多态"."继承" 等基础知识是重要的,但同时为了创建简洁.模块化的设计,了解这些设计原则也同等重要.我经常看到不同经验水平的java程序员,他们有的不知

Java程序员应当知道的10个面向对象设计原则

面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) . Decorator(装饰器).Observer(观察者) 等设计模式,而没有把足够多的注意力放在学习面向对象的分析和设计上面.学习面向对象编程像"抽象"."封装"."多态"."继承" 等基础知识是重要的,但同时为了创建简洁.模块化的设计,了解这些设计原则也同等重要.我经常看到不同经验水平的java程序员,他们有的不知

Python 类的设计原则

# 面向对象遵循的原则: SOLID # S(Single Responsibility Principle) # 单一职责原则 # 一个类只负责一项职责 # 好处 # 易于维护, 写出高内聚的代码 # 易于代码复用 # 案例 # 我们之前写的计算器类 # 假设只包含加减乘除运算和结果打印 # 如果往后需要增加, 结果写入文件, 结果参与其他运算, 结果上传服务器... # 是不是每一次都需要去修改此类? 就导致这个类变得特别臃肿; 不利于维护和部分代码复用 # 解决方案 # 计算器只包含, 加

java类的设计原则

1.内聚性 类应该描述一个单一的实体,所有的类操作应该在逻辑上相互配合,支持一个连贯性的目标.例如:学生和教职工属于不同的实体,应该定义两个类. 2.一致性 要遵循一定的设计风格和命名习惯.给类.方法.数据域选择有信息量的名字.流行的风格是将数据声明置于构造方法之前,并将构造方法置于方法之前. 选择的名字要保持一致,给类似的操作选择不同的名字并非好的习惯. 如果不想让用户创建类的对象,可以在类中声明一个私有的构造方法. 3.封装性 用private修饰符隐藏其数据域,以免用户直接访问.如果想让数

《转》面向对象类设计原则

面向对象类的设计原则 1                 SRP(单一职责原则) 这个原则看起来很简单,就是说一个类只能承担一个职责. 但这里有一个关键:"职责"是如何理解的? 按照汉语的理解,职责其实分为两部分:"职"和"责"."职"就是这个类是什么,而"责"就是这个类要干什么. 举个例子来说:Door是一个对象,那么它的"职"就是门,"责"就是"开门.关

java设计原则:16种原则

一   类的设计原则   1 依赖倒置原则-Dependency Inversion Principle (DIP) 2 里氏替换原则-Liskov Substitution Principle (LSP) 3 接口分隔原则-Interface Segregation Principle (ISP) 4 单一职责原则-Single Responsibility Principle (SRP) 5 开闭原则-The Open-Closed Principle (OCP) 二  包的设计原则   6