文档章节

面向对象设计原则

嚣张乾坤
 嚣张乾坤
发布于 2013/05/31 23:22
字数 402
阅读 265
收藏 14
点赞 0
评论 0
  我们知道,PHP是一门面向对象的设计语言,在面向对象的设计中,我们在开发过程中应该遵循面向对象设计的五大原则,它们分别是:单一职责原则、接口隔离原则、开放-封闭原则、替换原则、依赖倒置原则,这五大原则也是23种设计模式的基础。
  单一职责原则(Single Responsibility Principle,SRP),它有两个含义:一个是避免相同的职责分散到不同的类中,另一个是避免一个类承担太多职责。
  接口隔离原则(Interface Segregation Principle,ISP),简单的说就是使用多个专门的接口比使用单个接口要好的多。
  开放-封闭原则(Open-Close Principle,OCP),一句话概括就是:一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。
  替换原则(Liskov Substitution Principle,LSP),即为里氏替换原则,它主要是针对的继承的设计原则,它指出:子类型必须能够替换掉它们的父类型、并出现在父类能够出现的任何地方。
  依赖倒置原则(Dependence Inversion Principle,DIP),简单地讲就是将依赖关系倒置为依赖接口,即上层模块不应该依赖于下层模块,它们共同依赖一个抽象(父类不能依赖子类,它们都依赖抽象类);抽象不能依赖于具体,具体应该要依赖于抽象。注意,这里的接口不是狭义的接口。

© 著作权归作者所有

共有 人打赏支持
嚣张乾坤
粉丝 10
博文 72
码字总数 24949
作品 0
海淀
高级程序员
10个不容错过的Java面向对象设计原则

面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向...

牵着蜗牛去西藏
2015/07/16
139
2
PHP核心技术与最佳实践 读书笔记 第二章 面向对象的设计原则

第二章 面向对象的设计原则 2.1 面向对象设计的五大原则 单一职责原则 接口隔离原则 开放-封闭原则 替换原则 依赖倒置原则 2.1.1 单一职责原则SRP 单一职责有两个含义:一个是避免相同的职责...

lilugirl
2014/03/25
0
0
Java程序员应当知道的10个面向对象设计原则

面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) 、 Decorator(装饰器)、Observer(观察者) 等设计模式,而没有把足够多的注意力放在学习面向对象的...

银月光海
2015/03/16
0
0
迈向大牛的重要一步——掌握设计模式

IT职场的小菜经常有这样的疑问: 为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝;而自己加班加点搞到天亮还做不完。 为什么用户提出需求变更后,大牛只需潇洒地敲敲键...

一枚Sir
2015/04/10
0
0
2、面向对象的分析与设计方法

面向对象的方法是当前应用最广的程序设计方法 在软件的模块化、可重用性、可扩展性等方面体现出强大的优势。 面向对象的要素: 对象:客观世界里的任何实体都可以称之为对象; 封装: 把对象...

把南墙撞开
2016/04/13
70
0
设计模式之基础知识

设计模式简介 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式...

白志华
2015/10/20
64
0
设计原则-开闭原则

开闭原则是面向对象的可复用设计的第一块基石, 它是最重要的面向对象设计原则. 开闭原则: 一个软件实体应当对扩展开放, 对修改关闭. 即软件实体应该尽量在不修改原有代码的情况下进行扩展. 在...

hell03W
2016/11/09
7
0
Java代码质量评价--JDepend

JDepend一个开放源代码的可以用来评价Java程序质量的优秀工具,它遍历Java class的文件目录,以Java包(package)为单位,为每一个包/类自动生成 包的依赖程度,稳定性,可靠度等的评价报告,...

匿名
2008/09/16
5K
0
设计模式原则(单一、开放封闭、里氏代换、依赖倒转、迪米特法则五大原则)

单一职责原则 单一职责原则,就一个类而言,应该仅有一个引起它变化的原因。        如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类...

aehyok
2013/05/21
0
0
Java程序员应了解的10个面向对象设计原则

面向对象设计原则是 OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数 Java 程序员追逐像 Singleton、Decorator、Observer 这样的设计模式,而不重...

effort_fan
2012/04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Webpack使用nodemon实时打包编译

业务场景: 1.编写一个npm组件包并且link到了项目文件中 2.需要不断的修改并run build编译npm包并且在项目run dev 查看效果 3.问题: 每次改完npm包都要手动run build编译十分的麻烦且低效,可不...

JamesView
9分钟前
0
0
电脑炸了,浪费我好几天时间,还是简要记下来吧

我的小本本一直在兢兢业业的干活,然而前几天说炸就炸了...... 爆炸现场: 软件: windows10 pro + EIS11+ 360卫士 BIOS:N1DET98W 2.24 硬件: Xeon E3 1505-V5 nv-M3000M thinkpadP70:20E...

Oh_really
13分钟前
0
0
Git之branch和checkout

1.branch是查看、创建、删除分支 #>git branch --helpNAME git-branch - List, create, or delete branchesSYNOPSIS git branch [--color[=<when>] | --no-color] [......

汉斯-冯-拉特
15分钟前
0
0
Mybatis拦截器之数据权限过滤与分页集成

需求场景 最近项目有个数据权限的业务需求,要求大致为每个单位只能查看本级单位及下属单位的数据,例如:一个集团军下属十二个旅,那么军级用户可以看到所有数据,而每个旅则只能看到本旅部...

佛系程序猿灬
24分钟前
6
0
SpringCloud 微服务 (十六) 服务追踪 Zipkin

问题 在服务中,有一个接口,该A接口中又调用了其他服务的B、C、D接口,出现一个请求耗时大的问题,这时候并不知道该B、C、D接口中哪个接口造成的耗时量,然后比如确定C服务接口出现的耗时量大,但...

___大侠
今天
0
0
Java面试基础篇——第八篇:抽象类与接口的区别

1.抽象类 抽象类:如果一个类中包含有抽象方法,或这个类使用abstract关键字修饰,则称这个类是抽象类。 抽象方法是什么呢?抽象方法就是指用abstract关键字修饰的方法。 需要注意的是:抽象...

developlee的潇洒人生
今天
2
0
jsoup 相关资料

1.jsoup 2.Jsoup概述 3.jsoup入门 4.jsoup Java HTML Parser 1.11.3 API

IT追寻者
今天
0
0
JPA @MappedSuperclass 注解说明

基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解只能标准在类上:@Target({java.lang....

海博1600
今天
0
0
【一】Scala Configuration 相关API

Play使用了 Typesafe config library,但是也提供了一个有着更多Scala高级特性的的 Configuration 封装。不熟悉Typesafe配置的开发者可以移步 configuration文件的语法和特性文档。 读取配置...

Landas
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部