Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Design Patterns
Search
uictechparty
July 08, 2012
Programming
2
150
Introduction to Design Patterns
By Elvis, 2nd TechParty@UIC
uictechparty
July 08, 2012
Tweet
Share
More Decks by uictechparty
See All by uictechparty
产品经理是做什么的呢?
uictechparty
1
210
找人
uictechparty
3
460
香港研究生申请经验分享
uictechparty
0
410
css.pdf
uictechparty
1
210
编写高质量Java代码的7个建议
uictechparty
2
180
视觉障碍出行辅助仪 -The Third Eye
uictechparty
1
120
jQuery 快速入门
uictechparty
1
150
Introduction to NodeJS
uictechparty
1
210
Introduction to Hadoop
uictechparty
3
230
Other Decks in Programming
See All in Programming
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
490
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
920
XP, Testing and ninja testing
m_seki
3
250
テスト駆動Kaggle
isax1015
0
300
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
700
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
2.2k
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
型で語るカタ
irof
0
130
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
780
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
140
RailsGirls IZUMO スポンサーLT
16bitidol
0
190
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.6k
Featured
See All Featured
KATA
mclloyd
30
14k
Building an army of robots
kneath
306
45k
How GitHub (no longer) Works
holman
314
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Docker and Python
trallard
44
3.5k
Speed Design
sergeychernyshev
32
1k
Being A Developer After 40
akosma
90
590k
4 Signs Your Business is Dying
shpigford
184
22k
YesSQL, Process and Tooling at Scale
rocio
173
14k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Transcript
设计模式之浅谈 设计模式之浅谈 设计模式之浅谈 设计模式之浅谈 by by by by 艾尔维斯的 艾尔维斯的
艾尔维斯的 艾尔维斯的L L L L
Outline Outline Outline Outline 1 1 1 1 之简介 设计模式
2 2 2 2 之三大模式 设计模式 3 3 3 3 之三大工厂 设计模式 4 4 4 4 之资料分享 设计模式
设计模式之简介 设计模式之简介 设计模式之简介 设计模式之简介 需要强调的 �为面向对象来设计的 �面向对象的特性: : : :封装继承多态
�目的是:解决问题,同时也为 系统留下良好的扩展性. . . . �只要是面向对象的语言都能应 用这些模式 � UML UML UML UML 定义 面对特定的问题,而提 出的一种可供参考的解 决方案 GOF GOF GOF GOF 23 23 23 23种设计模式 分类 根据面向的问题不同 而分成3 3 3 3大类 背景 第一次提出是在建筑学, 后来被引入到软件设计 这个行业 Keywords Keywords Keywords Keywords
在此输入标题 在此输入标题 在此输入标题 在此输入标题 输入文字 输入文字 输入文字 输入文字 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论
在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 “ “ 设计模式 设计模式 设计模式 设计模式之 之 之 之三大模式 三大模式 三大模式 三大模式 设 计 模 式 创建型模式 创建型模式 创建型模式 创建型模式 组合型模式 组合型模式 组合型模式 组合型模式 行为型模式 行为型模式 行为型模式 行为型模式 关注对象的创建过程,将对 关注对象的创建过程,将对 关注对象的创建过程,将对 关注对象的创建过程,将对 象的创建和使用分离,使用 象的创建和使用分离,使用 象的创建和使用分离,使用 象的创建和使用分离,使用 的时候无需关注创建的细节 的时候无需关注创建的细节 的时候无需关注创建的细节 的时候无需关注创建的细节 创建与实例化解耦 涉及到如何组合类和对象以 涉及到如何组合类和对象以 涉及到如何组合类和对象以 涉及到如何组合类和对象以 获得更大的结构 获得更大的结构 获得更大的结构 获得更大的结构 如何把类或者对象更好的 放在一起 描述如何控制执行的流转以及 描述如何控制执行的流转以及 描述如何控制执行的流转以及 描述如何控制执行的流转以及 对象间如何交互 对象间如何交互 对象间如何交互 对象间如何交互 如何更好的建立对象与对象之 间交互
在此输入标题 在此输入标题 在此输入标题 在此输入标题 输入文字 输入文字 输入文字 输入文字 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论
在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 “ “ 设计模式 设计模式 设计模式 设计模式之 之 之 之三大工厂 三大工厂 三大工厂 三大工厂 三 大 工 厂 简单工厂 简单工厂 简单工厂 简单工厂 工厂方法 工厂方法 工厂方法 工厂方法 抽象工厂 抽象工厂 抽象工厂 抽象工厂 专门定义一个类来负责 专门定义一个类来负责 专门定义一个类来负责 专门定义一个类来负责 创建其他类的实例,被 创建其他类的实例,被 创建其他类的实例,被 创建其他类的实例,被 创建的实例通常都继承 创建的实例通常都继承 创建的实例通常都继承 创建的实例通常都继承 同一个类 同一个类 同一个类 同一个类 引入了抽象工厂类,而讲 引入了抽象工厂类,而讲 引入了抽象工厂类,而讲 引入了抽象工厂类,而讲 具体的产品的创建过程封 具体的产品的创建过程封 具体的产品的创建过程封 具体的产品的创建过程封 装到抽象工厂的子类 装到抽象工厂的子类 装到抽象工厂的子类 装到抽象工厂的子类 提供一个创建一系列相关 提供一个创建一系列相关 提供一个创建一系列相关 提供一个创建一系列相关 或者互相依赖的对象接口 或者互相依赖的对象接口 或者互相依赖的对象接口 或者互相依赖的对象接口 而无须指定它们具体的类 而无须指定它们具体的类 而无须指定它们具体的类 而无须指定它们具体的类
简单工厂 简单工厂 简单工厂 简单工厂
工厂方法 工厂方法 工厂方法 工厂方法
抽象工厂 抽象工厂 抽象工厂 抽象工厂
在此输入标题 在此输入标题 在此输入标题 在此输入标题 输入文字 输入文字 输入文字 输入文字 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论
在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 “ “ 设计模式之资料分享 设计模式之资料分享 设计模式之资料分享 设计模式之资料分享 •大话设计模式(入门) 大话设计模式(入门) 大话设计模式(入门) 大话设计模式(入门) •漫谈设计模式 漫谈设计模式 漫谈设计模式 漫谈设计模式 (有些深 (有些深 (有些深 (有些深, , , ,作者有点装) 作者有点装) 作者有点装) 作者有点装) •设计模式之禅 设计模式之禅 设计模式之禅 设计模式之禅 (没看过,但有高人推荐我去看) (没看过,但有高人推荐我去看) (没看过,但有高人推荐我去看) (没看过,但有高人推荐我去看)