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
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
560
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
380
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
120
エラーって何種類あるの?
kajitack
5
310
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
500
ReadMoreTextView
fornewid
1
480
PicoRuby on Rails
makicamel
2
110
XP, Testing and ninja testing
m_seki
3
200
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
530
NPOでのDevinの活用
codeforeveryone
0
410
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
20
3.7k
童醫院敏捷轉型的實踐經驗
cclai999
0
190
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
48
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Building Adaptive Systems
keathley
43
2.6k
The Language of Interfaces
destraynor
158
25k
Git: the NoSQL Database
bkeepers
PRO
430
65k
KATA
mclloyd
29
14k
What's in a price? How to price your products and services
michaelherold
246
12k
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
在此输入标题 在此输入标题 在此输入标题 在此输入标题 输入文字 输入文字 输入文字 输入文字 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论
在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 “ “ 设计模式 设计模式 设计模式 设计模式之 之 之 之三大模式 三大模式 三大模式 三大模式 设 计 模 式 创建型模式 创建型模式 创建型模式 创建型模式 组合型模式 组合型模式 组合型模式 组合型模式 行为型模式 行为型模式 行为型模式 行为型模式 关注对象的创建过程,将对 关注对象的创建过程,将对 关注对象的创建过程,将对 关注对象的创建过程,将对 象的创建和使用分离,使用 象的创建和使用分离,使用 象的创建和使用分离,使用 象的创建和使用分离,使用 的时候无需关注创建的细节 的时候无需关注创建的细节 的时候无需关注创建的细节 的时候无需关注创建的细节 创建与实例化解耦 涉及到如何组合类和对象以 涉及到如何组合类和对象以 涉及到如何组合类和对象以 涉及到如何组合类和对象以 获得更大的结构 获得更大的结构 获得更大的结构 获得更大的结构 如何把类或者对象更好的 放在一起 描述如何控制执行的流转以及 描述如何控制执行的流转以及 描述如何控制执行的流转以及 描述如何控制执行的流转以及 对象间如何交互 对象间如何交互 对象间如何交互 对象间如何交互 如何更好的建立对象与对象之 间交互
在此输入标题 在此输入标题 在此输入标题 在此输入标题 输入文字 输入文字 输入文字 输入文字 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论
在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 “ “ 设计模式 设计模式 设计模式 设计模式之 之 之 之三大工厂 三大工厂 三大工厂 三大工厂 三 大 工 厂 简单工厂 简单工厂 简单工厂 简单工厂 工厂方法 工厂方法 工厂方法 工厂方法 抽象工厂 抽象工厂 抽象工厂 抽象工厂 专门定义一个类来负责 专门定义一个类来负责 专门定义一个类来负责 专门定义一个类来负责 创建其他类的实例,被 创建其他类的实例,被 创建其他类的实例,被 创建其他类的实例,被 创建的实例通常都继承 创建的实例通常都继承 创建的实例通常都继承 创建的实例通常都继承 同一个类 同一个类 同一个类 同一个类 引入了抽象工厂类,而讲 引入了抽象工厂类,而讲 引入了抽象工厂类,而讲 引入了抽象工厂类,而讲 具体的产品的创建过程封 具体的产品的创建过程封 具体的产品的创建过程封 具体的产品的创建过程封 装到抽象工厂的子类 装到抽象工厂的子类 装到抽象工厂的子类 装到抽象工厂的子类 提供一个创建一系列相关 提供一个创建一系列相关 提供一个创建一系列相关 提供一个创建一系列相关 或者互相依赖的对象接口 或者互相依赖的对象接口 或者互相依赖的对象接口 或者互相依赖的对象接口 而无须指定它们具体的类 而无须指定它们具体的类 而无须指定它们具体的类 而无须指定它们具体的类
简单工厂 简单工厂 简单工厂 简单工厂
工厂方法 工厂方法 工厂方法 工厂方法
抽象工厂 抽象工厂 抽象工厂 抽象工厂
在此输入标题 在此输入标题 在此输入标题 在此输入标题 输入文字 输入文字 输入文字 输入文字 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论
在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 在此录入上述图表的综合分析结论 “ “ 设计模式之资料分享 设计模式之资料分享 设计模式之资料分享 设计模式之资料分享 •大话设计模式(入门) 大话设计模式(入门) 大话设计模式(入门) 大话设计模式(入门) •漫谈设计模式 漫谈设计模式 漫谈设计模式 漫谈设计模式 (有些深 (有些深 (有些深 (有些深, , , ,作者有点装) 作者有点装) 作者有点装) 作者有点装) •设计模式之禅 设计模式之禅 设计模式之禅 设计模式之禅 (没看过,但有高人推荐我去看) (没看过,但有高人推荐我去看) (没看过,但有高人推荐我去看) (没看过,但有高人推荐我去看)