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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
uictechparty
July 08, 2012
Programming
170
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to Design Patterns
By Elvis, 2nd TechParty@UIC
uictechparty
July 08, 2012
More Decks by uictechparty
See All by uictechparty
产品经理是做什么的呢?
uictechparty
1
240
找人
uictechparty
3
480
香港研究生申请经验分享
uictechparty
0
420
css.pdf
uictechparty
1
220
编写高质量Java代码的7个建议
uictechparty
2
190
视觉障碍出行辅助仪 -The Third Eye
uictechparty
1
150
jQuery 快速入门
uictechparty
1
160
Introduction to NodeJS
uictechparty
1
230
Introduction to Hadoop
uictechparty
3
240
Other Decks in Programming
See All in Programming
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
370
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
330
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.4k
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
790
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
1
530
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
270
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
120
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
610
AIで効率化できた業務・日常
ochtum
0
150
Performance Engineering for Everyone
elenatanasoiu
0
230
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
170
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
620
Site-Speed That Sticks
csswizardry
13
1.2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
170
ラッコキーワード サービス紹介資料
rakko
1
3.8M
Leo the Paperboy
mayatellez
7
1.9k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
750
Building Adaptive Systems
keathley
44
3.1k
WENDY [Excerpt]
tessaabrams
11
38k
The Cost Of JavaScript in 2023
addyosmani
55
10k
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
在此输入标题 在此输入标题 在此输入标题 在此输入标题 输入文字 输入文字 输入文字 输入文字 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论
在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 “ “ 设计模式 设计模式 设计模式 设计模式之 之 之 之三大模式 三大模式 三大模式 三大模式 设 计 模 式 创建型模式 创建型模式 创建型模式 创建型模式 组合型模式 组合型模式 组合型模式 组合型模式 行为型模式 行为型模式 行为型模式 行为型模式 关注对象的创建过程,将对 关注对象的创建过程,将对 关注对象的创建过程,将对 关注对象的创建过程,将对 象的创建和使用分离,使用 象的创建和使用分离,使用 象的创建和使用分离,使用 象的创建和使用分离,使用 的时候无需关注创建的细节 的时候无需关注创建的细节 的时候无需关注创建的细节 的时候无需关注创建的细节 创建与实例化解耦 涉及到如何组合类和对象以 涉及到如何组合类和对象以 涉及到如何组合类和对象以 涉及到如何组合类和对象以 获得更大的结构 获得更大的结构 获得更大的结构 获得更大的结构 如何把类或者对象更好的 放在一起 描述如何控制执行的流转以及 描述如何控制执行的流转以及 描述如何控制执行的流转以及 描述如何控制执行的流转以及 对象间如何交互 对象间如何交互 对象间如何交互 对象间如何交互 如何更好的建立对象与对象之 间交互
在此输入标题 在此输入标题 在此输入标题 在此输入标题 输入文字 输入文字 输入文字 输入文字 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论
在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 “ “ 设计模式 设计模式 设计模式 设计模式之 之 之 之三大工厂 三大工厂 三大工厂 三大工厂 三 大 工 厂 简单工厂 简单工厂 简单工厂 简单工厂 工厂方法 工厂方法 工厂方法 工厂方法 抽象工厂 抽象工厂 抽象工厂 抽象工厂 专门定义一个类来负责 专门定义一个类来负责 专门定义一个类来负责 专门定义一个类来负责 创建其他类的实例,被 创建其他类的实例,被 创建其他类的实例,被 创建其他类的实例,被 创建的实例通常都继承 创建的实例通常都继承 创建的实例通常都继承 创建的实例通常都继承 同一个类 同一个类 同一个类 同一个类 引入了抽象工厂类,而讲 引入了抽象工厂类,而讲 引入了抽象工厂类,而讲 引入了抽象工厂类,而讲 具体的产品的创建过程封 具体的产品的创建过程封 具体的产品的创建过程封 具体的产品的创建过程封 装到抽象工厂的子类 装到抽象工厂的子类 装到抽象工厂的子类 装到抽象工厂的子类 提供一个创建一系列相关 提供一个创建一系列相关 提供一个创建一系列相关 提供一个创建一系列相关 或者互相依赖的对象接口 或者互相依赖的对象接口 或者互相依赖的对象接口 或者互相依赖的对象接口 而无须指定它们具体的类 而无须指定它们具体的类 而无须指定它们具体的类 而无须指定它们具体的类
简单工厂 简单工厂 简单工厂 简单工厂
工厂方法 工厂方法 工厂方法 工厂方法
抽象工厂 抽象工厂 抽象工厂 抽象工厂
在此输入标题 在此输入标题 在此输入标题 在此输入标题 输入文字 输入文字 输入文字 输入文字 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论
在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 “ “ 设计模式之资料分享 设计模式之资料分享 设计模式之资料分享 设计模式之资料分享 •大话设计模式(入门) 大话设计模式(入门) 大话设计模式(入门) 大话设计模式(入门) •漫谈设计模式 漫谈设计模式 漫谈设计模式 漫谈设计模式 (有些深 (有些深 (有些深 (有些深, , , ,作者有点装) 作者有点装) 作者有点装) 作者有点装) •设计模式之禅 设计模式之禅 设计模式之禅 设计模式之禅 (没看过,但有高人推荐我去看) (没看过,但有高人推荐我去看) (没看过,但有高人推荐我去看) (没看过,但有高人推荐我去看)