设计模式总结(一)
来源:互联网 发布:什么软件贷款最快 编辑:程序博客网 时间:2024/04/30 15:32
大鸟给小菜讲了很多设计模式,当然每个设计模式都有它所依赖的原则,他们分别是:迪米特原则、依赖倒转原则、合成/聚合原则、开放-封闭式原则、里氏代换原则、单一职责原则。接下来就深入它们的内心,去剖析一下吧!
【迪米特原则】
定义:
两个类不必要通讯,即两个类之间不必发生直接的关系,如果一个类需要调用另一个类,只需要借助第三方调用即可;
举例:
我们需要银行,去人工柜台,一般都是先排号,然后在大厅内等待,当叫到你的号是,你就可以需要去相应的柜台办理业务。在这里我们所抽取的号码就是第三者,我们去办理业务,没必要知道帮助我们办理业务的是谁,柜台人员也没必要知道是给谁办理业务。工作人员和我们之间都是通过所抽取的号连接起来的。
【依赖倒转原则】
定义:
抽象不应该依赖与细节,细节依赖与抽象;高层模块不应该依赖于底层模块,他们都应该依赖于抽象
举例:
夏天很多人喜欢吃烧烤嘛,但是出自不同人的手烤出来的,即使是一个人,不同时间烤出来的,也是不一样的味道,所以导致我们很被动,我们需要依赖与烧烤老板,不能一直吃到很好吃的烤串。而麦当劳里面的汉堡、披萨等,他们有严格的烘焙工艺,所以我们在不同的店里吃,味道都是相同的。在这里我们吃的事物就是依赖与工作工艺,也就是符合依赖倒转原则。
【单一职责原则】
定义:
有一个类,仅有一个引起它变化的原因;
举例:
比如在我们十三期,会有很多的部门分类,如 博客、学术、英语、纪律等等,为什么不都是让ceo做呢,这样就是为了每个部门的都有单独自己的职责,更好的去做好自己部门的工作。
【开放-封闭原则】
定义:
一些类、模块等等,可以扩展,但是不能够修改
举例:
旁边的很多同学选择考研,目标已经定了,不会轻易修改。但是在考研复习的过程中,可以利用休息时间去研究一下如何写好简历,去考察一下就业情况,以防自己考研失利,还可以去工作嘛,两手准备。这也就是所谓的扩展。
【里氏代换原则】
定义:
子类必须能够替换他们的父类;子类的可替换性使得父类模块在无需修改的情况下就可以被扩展
举例:
将动物作为一个父类,则猫、狗等可以可以替换它,而且可以在增加 羊、牛等动物。
【合成聚合原则】
定义:
聚合是一种弱的‘拥有’关系,合成是一种强的‘y拥有关系’,体现了整体和部分的关系
举例:
手机有不同的品牌,而且一些手机软件:播放器、通讯录等等,他们组合在一起,就是我们现在“低头族”所用的智能机。
- 设计模式总结(一)
- 设计模式总结(一)
- 设计模式总结(一)
- 设计模式总结(一)
- 设计模式总结(一)
- 设计模式总结一
- 设计模式总结一
- 学习设计模式 (一)(总结)
- 移动设计模式总结(一)
- 《大话设计模式》--总结(一)
- 设计模式之总结(一)
- 设计模式大总结(一)
- 设计模式基本概念总结(一)
- iOS常用设计模式总结(一)
- 【设计模式】-原则总结(一)
- 编程总结(一)设计模式
- Java设计模式个人总结(一)
- 一句总结设计模式
- 算法-二叉查找树
- poj 2785 4 Values whose Sum is 0
- iOS学习笔记-042.UIScrollView分页加强
- ARMj寄存器,LR, SP,CPSR,SPSR
- numpy函数:numpy.add.at
- 设计模式总结(一)
- 学习JavaScript闭包
- ~二分查找~
- day23
- PHP:水平展示结果
- Leetcode 258: Add Digits
- [LeetCode] Valid Parentheses 解题报告
- 杭电2000题
- 科研技能养成