设计模式读书笔记之面向对象的几大原则
来源:互联网 发布:外键sql语句oracle 编辑:程序博客网 时间:2024/04/29 07:59
为什么要知道面向对象的基本原则呢? 因为我们考察一个设计模式好不好, 一个设计优秀不优秀, 用基本原则来检验.
这五个原则简称SOLID.
单一职责原则(Single Responsibility Principle): 就是一个设计或实体应该只做一件事/只描述一个事物, 比如一个类Cat, 那么读代码的人应该觉得这个类始终都在说猫,而不是扯到狗身上去了, 虽然猫狗有时候会打架,但那也只是关联关系. 这与现实中也很相似, 如果你专著于一件事, 你会做得很出色.
开放封闭原则(Open-Close Principle): 一个实体应该对拓展开放,对修改封闭. 就是说, 任何一个系统, 需求总是在变的, 但是我们不能在任何需求到来的时候都把原有的设计推倒了重来, 而是尽可能的在保持相对稳定的情况下, 进行拓展. 事实上这也是世间万物的演变规律, 任何生物,都是从当初的单细胞生物随着环境的变化而逐渐演化过来的, 而不是说, 一旦环境变化, 则变异一个全新的形态出来. 在软件行业中, 这一原则体现在知识的积累, 系统的演化更新上. 优秀的平台(如java), 框架(如struts, spring), 都是由最初的雏形, 从版本0.1开始演化过来.
里氏替换原则(Liskov Substitution Principle): 子类必须能够替换掉他们的父类型. 这个原则考验的是继承结构的合理性, 如果子类不能完全取代父类的位置, 则继承结构就不合理.
依赖倒置原则(Dependency Inversion Principle): 设计应该依赖于抽象,而不能依赖于具体。也就是说要面向接口编程。 因为接口代表着功能,代表着规范,不易变。而实现却会随着时间和环境发生变化。比如银行,自从有银行开始,它就有存款和贷款业务, 那么存款和取款就是它的接口。但是不同的时代,具体的实现方式大有不同,以前都要到银行柜台上去办理, 后来有了支票, 现在有了电子帐户。如果我们有一个设计要使用银行的业务,不应该依赖于具体的某种实现方式,而应该依赖于接口。
接口隔离原则(Interface Seperation Principle): 使用多个专门的接口比使用单一的总接口要好. 系统对外提供宽窄不同的接口以应对不同的客户。
更多原则不一一细说. 而且如果没在实践中体会他们, 记住文字定义也没有意义.
- 设计模式读书笔记之面向对象的几大原则
- 设计模式读书笔记之面向对象的几大原则
- 面向对象设计的几大原则
- 面向对象设计的几大原则
- 面向对象设计的几大原则
- 设计模式之面向对象的原则
- 设计模式学习之面向对象设计的5大原则
- 设计模式学习之面向对象设计的5大原则
- 模式和面向对象可复用设计的几大原则
- 面向对象的几大原则
- 面向对象的几大原则
- 面向对象的几大原则
- 读书笔记 -- 面向对象的设计原则
- 设计模式之-----------面向对象的设计原则
- 设计模式的艺术之道--面向对象设计原则
- 面向对象设计之五大原则
- 读书笔记--面向对象设计原则
- 面向对象设计模式之六大原则
- phpbb 3 源码解析03 --acm_file.php
- 突破雷池上传漏洞补丁
- 如何释放过度占用的Shrink Undo表空间
- Oracle Undo的学习
- 开始→运行(cmd)命令大全
- 设计模式读书笔记之面向对象的几大原则
- 系统瘦身
- BOOT文件解析
- 抱歉!暂停更新两周
- 修改winXP pro安装界面、开机画面、登录画面、启动画面
- 开博啦
- 玉树人民一定会好的,一切都会过去的
- 开机时不再扫描磁盘
- 最伤孩子心的十句话,提醒父母们嘴下留情