没有合适的资源?快使用搜索试试~ 我知道了~
首页李建忠设计模式视频笔记.pdf
李建忠设计模式视频笔记.pdf
需积分: 29 16 下载量 85 浏览量
更新于2023-05-18
评论
收藏 2.23MB PDF 举报
设置模式系列文章是09年听webcast中李建忠讲的设计模式系列视频所做的笔记,也算是对视频内容的翻译。
资源详情
资源评论
资源推荐
1
李建忠设计模式视频笔记
李建忠设计模式视频笔记
前⾔
设计模式(1)—开篇(⽂章索引)
创建型
设计模式(2)—单件模式
设计模式(3)—抽象⼯⼚模式
设计模式(4)—⽣成器模式
设计模式(5)—⼯⼚⽅法模式
设计模式(6)—原型模式
结构型
设计模式(7)—适配器模式
设计模式(8)—桥接模式
设计模式(9)—组合模式
设计模式(10)—装饰模式
设计模式(11)—外观模式
设计模式(12)—享元模式
设计模式(13)—代理模式
⾏为型
设计模式(14)—模板⽅法模式
设计模式(15)—命令模式
设计模式(16)—解释器模式
设计模式(17)—中介者模式
设计模式(18)—迭代器模式
设计模式(19)—观察者模式
设计模式(20)—职责链模式
设计模式(21)—备忘录模式
设计模式(22)—状态模式
设计模式(23)—策略者模式
3
前⾔
设置模式系列⽂章是09年听webcast中李建忠讲的设计模式系列视频所做的笔记,也算是对视频内容的翻
译。
4
设计模式(1)—开篇(⽂章索引)
设计模式描述了软件设计过程中某⼀类常⻅问题的⼀般性的解决⽅案。
⾯向对象的设计模式描述了⾯向对象设计过程中,在特定场景下类与相互通讯的对象之间常⻅的组织关
系。
⾯向对象设计模式解决的是“类与相互通信的对象之间的组织关系。包括他们的⻆⾊、职责、协作⽅式⼏个
⽅⾯。
⾯向对象设计模式是“好的⾯向对象设计”,所谓“好的⾯向对象设计”是那些可以满⾜“因对变化,提⾼复
⽤的设计”。
⾯向对象设计模式描述的是软件设计,因此他是独⽴于编程语⾔的,但是⾯向对象设计模式的最终实现仍
然要使⽤⾯向对象编程语⾔来表达。
⾯向对象设计模式不像算法技巧,可以照搬照⽤,他是建⽴在对“⾯象对象”纯熟、深⼊的理解的基础上的
经验性认识。
针对接⼝编程,⽽不是针对实现编程—客户⽆需知道所有使⽤对象的特定类型,只需要知道对象拥有客户
所期望的接⼝。
优先使⽤对象组合,⽽不是类继承—类继承通常为“⽩箱复⽤”,对象组合通常为“⿊箱复⽤”。继承在某种
程度上破坏了封装性,⼦类⽗类耦合度⾼;⽽⾯向组合只要求组合的对象具有良好定义的接⼝,耦合度
低。
封装变化点—使⽤封装来创建对象之间分界曾,让设计者可以在分界曾的⼀侧进⾏修改,⽽不会对另⼀侧
产⽣不良的影响,从⽽实现层次间的松耦合。
概念
设计模式与⾯向对象
从设计原则到设计模式
5
使⽤重构得到模式—设计模式的应⽤不宜先⼊为主,⼀上来就是⽤设计模式是对设计模式的最⼤⽆⽤。没
有⼀步到位的设计模式。
在设计模式的使⽤中⽆时⽆刻都在贯穿着下⾯这⼏个原则,所以说理解了这⼏个设计原则对学习和理解设
计模式有很⼤的帮助。
a. 单⼀职责原(SRP):⼀个类应该仅有⼀个引起它变化的原因。
b. 开放封闭原则(OCP):类模块应该是可以扩展的,但是不可以修改(多扩展开放,对修改封闭)
c. Liskov替换原则(LSP):⼦类必须能够替换他们的基类
d. 依赖倒置原则(DIP):⾼层模块不应该依赖于底层模块,⼆者都应该依赖于抽象;抽象不应该依
赖于实现细节,实现细节应该依赖于抽象。
e. 接⼝隔离原则(ISP):不应该强迫客户程序依赖于他们不⽤的⽅法。
上⾯只是简单给出了定义,⽹上有很多关于这些原则的详细介绍。
下⾯简单谈⼀下我⾃⼰对设计模式的认识,设计模式很早就接触了,不过实际在项⽬中使⽤过的也只是很
少的⼏个,现在市⾯上有很多关于设计模式的书,其中不乏有些很⽣动的例⼦,⾮常容易理解,但设计模
式并不是写些简单的Demo,个⼈感觉从很熟悉那些简单的Dem o到能够灵活在项⽬中运⽤这中间有很⻓
的路要⾛,需要我们多写、多思考,多总结。之所以要使⽤设计模式,是因为当变化来临时我们能更⽅便
快捷地解决问题,并且有利于以后的维护。如果没有需求的变化,完全可以⽤⾃⼰认为最简单直接的⽅式
去实现功能,不过需求往往是多变的。我们通常所讲的设计模式指的是⾯向对象设计模式,所以学习好⾯
向对象的知识是学习⾯向对象设计模式的前提。最近⼜将⼏年前的关于设计模式的webcast讲座翻出来听
了听,感觉收获颇多,也顺便做了些笔记以备后⽤。
设计模式分类创建型、结构型、⾏为型三类。
Singleton 单件
Abst ract Fact ory 抽象⼯⼚模式
Builder ⽣成器模式
Factory Met hod ⼯⼚⽅法模式
Prototype 原型模式
⼏个设计原则
设计模式的分类
创建型
剩余142页未读,继续阅读
oec2003
- 粉丝: 374
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0