面向对象设计的11原则

简介:
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

  头五项原则是关于类设计的,它们是:

  &#9670; SRP,单一职责原则,一个类应该有且只有一个改变的理由。
&#9670; OCP,开放封闭原则,你应该能够不用修改原有类就能扩展一个类的行为。
&#9670; LSP,Liskov替换原则,派生类要与其基类自相容。
&#9670; DIP,依赖倒置原则,依赖于抽象而不是实现。
&#9670; ISP,接口隔离原则,客户只要关注它们所需的接口。

  另外的六项是关于包的设计原则。在本文中,包是指一个二进制的可发布文件,比如.jar文件、或dll文件,而不是Java包或是C++的命名空间(译注3)。

  头三项包原则是关于包内聚性的,它们会告诉我们该把什么划分到包中:

  &#9670; REP,重用发布等价原则,重用的粒度就是发布的粒度。
&#9670; CCP,共同封闭原则,包中的所有类对于同一类性质的变化应该是共同封闭的。 
&#9670; CRP,共同重用原则,一个包中的所有类应该是共同重用的。

  最后的三项原则是关于包之间的耦合性原则的,并且论述了评价系统中包结构优良与否的评判标准。

  &#9670; ADP,无环依赖原则,在包的依赖关系图中不允许存在环。
&#9670; SDP,稳定依赖原则,朝着稳定的方向进行依赖。
&#9670; SAP,稳定抽象原则,包的抽象程度应该和其稳定程度一致

本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2006/11/22/2912468.html  ,如需转载请自行联系原作者

相关文章
|
存储 Java 开发工具
Android开发的技术与开发流程
Android开发的技术与开发流程
591 1
|
编解码
没有地理参考的图层添加坐标系:ENVI
本文介绍基于ENVI软件,对不含有任何地理参考信息的栅格遥感影像添加地理坐标系或投影坐标系等地理参考信息的方法~
393 4
没有地理参考的图层添加坐标系:ENVI
|
Java
Java“缺少返回语句”解决
在 Java 中,错误信息“缺少返回语句”表示方法应返回某种类型但未在所有路径中提供返回值,导致编译错误。解决方法包括:确保每个控制路径中有返回值;处理所有分支和异常情况;或将方法声明为 `void` 类型以避免返回值需求。
431 3
|
12月前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
374 2
|
Kubernetes 调度 数据格式
5分钟搞懂K8S的污点和容忍度(理论+实战)
本文主要快速讲解Kubernetes的污点和容忍度,一句话总结:如果Pod能容忍某个节点上的污点,那么Pod就可以调度到该节点。
5分钟搞懂K8S的污点和容忍度(理论+实战)
|
机器学习/深度学习 搜索推荐 TensorFlow
使用Python实现深度学习模型:智能饮食建议与营养分析
使用Python实现深度学习模型:智能饮食建议与营养分析
814 3
|
数据采集 存储 大数据
Python爬虫:数据获取与解析的艺术
本文介绍了Python爬虫在大数据时代的作用,重点讲解了Python爬虫基础、常用库及实战案例。Python因其简洁语法和丰富库支持成为爬虫开发的优选语言。文中提到了requests(发送HTTP请求)、BeautifulSoup(解析HTML)、Scrapy(爬虫框架)、Selenium(处理动态网页)和pandas(数据处理分析)等关键库。实战案例展示了如何爬取电商网站的商品信息,包括确定目标、发送请求、解析内容、存储数据、遍历多页及数据处理。最后,文章强调了遵守网站规则和尊重隐私的重要性。
249 2
隐私计算实训营 第1期 - 第5讲:隐语PSI介绍及开发实践
在本文档中,介绍了如何在两个虚拟机上安装和配置SecretFlow和SecretNote。首先,环境配置包括一台运行CentOS 7.9的虚拟机(Alice节点)和一台运行Rocky Linux 9.3的虚拟机(Bob节点),均为8核16GB内存。 之后,文档展示了如何在SecretNote中上传数据并创建Notebook执行PSI(Private Set Intersection)任务。过程中需要注意Ray版本兼容性问题,以及最终成功执行后的结果展示。
|
Java 网络性能优化 微服务
让Elasticsearch飞起来!——性能优化实践干货
Elasticsearch性能优化的最终目的:用户体验爽。爽点就是:快、准、全!关于Elasticsearch性能优化,阿里、腾讯、京东、携程、滴滴、58等都有过很多深入的实践总结,都是非常好的参考。本文换一个思路,基于Elasticsearch的爽点,进行性能优化相关探讨。
8747 0
让Elasticsearch飞起来!——性能优化实践干货
|
前端开发
使用scroll-view实现一个滑动列表
使用scroll-view实现一个滑动列表
330 1
使用scroll-view实现一个滑动列表