文档章节

面向对象设计原则

嚣张乾坤
 嚣张乾坤
发布于 2013/05/31 23:22
字数 402
阅读 265
收藏 14
  我们知道,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
海淀
高级程序员
私信 提问
我是怎样教媳妇面向对象编程的

简介 我老婆 Farhana 想要继续软件开发生涯(之前因为我们的第一个孩子出生,她不得不放弃)。我已经有了一些软件设计和开发的经验,所以这几天我就在试着帮助她学习OOD。 由于我早年在软件开...

凡程子
2013/01/09
56.3K
60
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
设计模式之基础知识

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

白志华
2015/10/20
64
0

没有更多内容

加载失败,请刷新页面

加载更多

《傲慢与偏见》的读书笔记与读后感作文2400字

《傲慢与偏见》的读书笔记与读后感作文2400字: 作者:孙苑馨;笔者按:读书这个习惯是我爸妈养出来的。小时候父母赚的钱除了吃饭穿衣剩下的就是买书了,他们除了买各种新鲜出版的文艺派图书...

原创小博客
12分钟前
0
0
oozie job 的挂了监控报警或重启

oozie Coordinator 的job 和actioni状态很多,但好像不支持设置某状态如failed后30分钟后自动重新拉启,因他的条件只有几种:触发条件可以是一个时间频率、一个dataset实例是否可用,或者可能...

hblt-j
31分钟前
1
0
python精简笔记-[6]-[if,for,while]语句

1.if 条件判断 语法: if 判断条件: 执行语句……elif 判断条件:    执行语句……elif 判断条件:    执行语句……else: 执行语句…… 实例1: n = input("请输...

平头哥-Enjoystudy
34分钟前
0
0
RxJava 是如何实现线程切换的(上)

前言 通过前一篇的从观察者模式出发,聊聊RxJava,我们大致理解了RxJava的实现原理,在RxJava中可以非常方便的实现不同线程间的切换。subscribeOn 用于指定上游线程,observeOn 用于指定下游线...

亭子happy
今天
2
0
想晋级高级工程师只知道表面是不够的!Git内部原理介绍

本文由云+社区发表 作者:腾讯工蜂用户:王二卫 从不一样的视角了解git,以便更好的使用git 一、git & git 版本库认识 git 是一个内容寻址的文件系统,其核心部分是一个简单的键值对数据库(...

腾讯云加社区
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部