`

面向对象设计原则简单总结

 
阅读更多

        面向对象设计原则其实大家谈得太多了,我可以说了解一点,也可以说不太了解

        这里其实是收集了专家的言论。简单列举,大家看了自己慢慢去体会吧,相信也会小有收获。

 

   1.SRP原则(单一职责原则) 就一个类来讲,应该仅有一个引起它变化的原因。也可以说一个类独立负责

              一个方面的功能。

 

   2.ocp原则 开放关闭原则。  对修改关闭,对扩展开放。这个大家都懂的。

 

   3.LSP原则,里氏代换原则,凡是有父类出现的地方,都可以用一个子类来替换。

 

  4.ISP原则,接口分离原则, 我觉得跟srp相似, 就是不应该强迫客户依赖于他们不用的方法 ,接口属于客户的,不属于它所在的类的层次结构。

 

   5.DIP 依赖倒置原则,程序细节依赖于抽象,抽象不依赖于细节。

 

   6.REP原则 ,重用发布等价原则。重用的粒度就是发布的粒度。

 

   7.ccp原则,共同封闭原则。包中的所有类对于同一类性质的变化应该是共同封闭的。。。一个变化如果对一个包产生影响,刚将对该包中的所有类产生影响,而对于其他包不造成任何影响。

 

    8.CRP原则,共同重用原则,,一个包中的所有类应该是共同重用的,如果重用了包中的一个类,那么就要征用包中的所有类。

 

    9.ADP原则,无环依赖原则,在包的依赖关系中,不允许存在环。

 

    10.SDP原则,稳定依赖原则,朝着稳定的方向依赖。

 

    11.稳定抽象原则:包的抽象程度应该和其稳定程度一致。

1
0
分享到:
评论

相关推荐

    面向对象与UML资料

    面向对象设计的概念 21 面向对象的设计方法 21 第三章 UML概述 22 UML对软件工程的重大影响 22 UML的概念模型 22 UML的建模思想 23 第四章 用UML建模 24 第一节 建模概念 24 系统、模型和视图 24 概念和现象 25 数据...

    设计模式总结与分析

    Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式),为了方便大家学习,现将所有文章的进行了整理,方便大家下载阅读...

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    本书为中南大学精品教材立项项目,分为上下两篇共21章,涵盖了面向对象技术中Java开发环境配置、程序设计基础、面向对象原理以及UML的知识。本书使用的开发环境是JDK 1.6+Eclipse 3.3+Rational Rose 2003,逐步引领...

    从实例谈面向对象编程、工厂模式和重构

    仔细分析这段代码,它其实是一种最古老的面向结构的设计。如果你要播放 的不仅仅是mp3 和 wav,你会不断地增加相应地播放方法,然后让 switch 子句越来越长,直至达到你视 线看不到的地步。 好吧,我们先来体验对象...

    数据库系统概论【史嘉权】

    2.3 设计原则 2.3.1 真实性 2.3.2 避免冗余 2.3.3 简单性 2.3.4 合理选择元素类型 2.4 子类 2.4.1 ODL中的子类 2.4.2 ODL中的多重继承 2.4.3 E-R图中的子类 2.4.4 E-R图中的继承 2.5 对约束的建模 2.5.1 键码 2.5.2 ...

    design-patterns:JavaScript中的设计模式

    JavaScript 主要设计原则--面向对象编程和面向对象设计 单一功能原则 开放封闭原则 核心思想--封装变化 一个简单的产品流程节点可以分为: 想法 -> 需求 -> 设计 -> 开发 -> 测试 -> 部署 -> 产品  通过上面的关键...

    二十三种设计模式【PDF版】

    有经验的面向对象设计者的确能做出良好的设计,而新手则面对众多选择无从下手,总是求助于以前使用过的非面向对象 技术。新手需要花费较长时间领会良好的面向对象设计是怎么回事。有经验的设计者显然知道一些新手所...

    JAVA记事本的设计与实现.doc

    《面向对象程序设计》课程设计报告 题 目:《日记本的设计与实现》课程设计 学 院: 信息工程 姓 名: 学 号: 1134120131 专 业: 软件工程 班 级: 软工1101班 指导教师: 二0一二年十二月十四日 目 录 1....

    asp.net知识库

    与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable 与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    1.1.5 要点5:ASP.NET是面向对象的 1.1.6 要点6:ASP.NET支持所有的浏览器 1.1.7 要点7:ASP.NET易于部署和配置 1.2 ASP.NET的演变 1.2.1 ASP.NET1.0和ASP.NET1.1 1.2.2 ASP.NET2.0 1.2.3 ASP.NET3.5 ...

    VB2008应用程序开发实例精讲(光盘文件)

    2.2.1 “面向对象编程”中的概念40 2.2.2 “对象”和“类”的使用42 2.2.3 创建自定义类45 2.3 控件常用属性47 2.4 API函数的应用49 2.4.1 API简介49 2.4.2 API的声明50 2.4.3 API的应用实例51 2.5 本章 小结52 第2...

    基于java的雷电游戏GUL_swing软件设计源码+WORD毕业论文文档.zip

    3.3 总体设计原则 17 3.4 功能模块设计 18 3.4.1 游戏状态控制功能 18 3.4.2 游戏难度的调整 18 3.4.3 游戏界面绘画功能 18 3.4.4 玩家游戏控制功能 19 3.5 关键技术 19 4 雷电功能实现 20 4.1 游戏程序设计的思路 ...

    软件工程知识点

    结构化设计中的函数、过程,面向对象设计中的类、对象,它们都是模块。概要设计时并不需要说明模块的内部细节,但是需要进行全部的有关它们构造的定义,包括功能特征、数据特征和接口等。 在进行概要设计时,模块的...

    ASP.NET4高级程序设计(第4版) 3/3

    1.1.5 要点5:ASP.NET是面向对象的 7 1.1.6 要点6:ASP.NET支持所有的浏览器 8 1.1.7 要点7:ASP.NET易于部署和配置 8 1.2 ASP.NET的演变 9 1.2.1 ASP.NET1.0和ASP.NET1.1 9 1.2.2 ASP.NET2.0 9 1.2.3 ...

    亮剑.NET深入体验与实战精要2

    13.6 面向对象设计的原则 478 13.6.1 优先使用(对象)组合,而非(类)继承 478 13.6.2 针对接口编程,而非(接口的)实现 481 13.6.3 开放-封闭法则(OCP) 482 13.6.4 Liskov替换法则(LSP) 485 13.6.5 单一...

Global site tag (gtag.js) - Google Analytics