View
137
Download
14
Category
Preview:
Citation preview
设计模式Design Pattern
@⽼老张的匠⼼心 @⻜飞吧1016
为什么使⽤用设计模式
Design设计
Pattern模式
设计模式定义
设计模式这个术语是由Erich Gamma等⼈人在1990年代从建筑设计领域引⼊入到计算机科学中的。它是对软件设计中普遍存在(反复出现)的各种问题,所提出的解決⽅方案。 !设计模式并不直接⽤用来完成程序的编写,⽽而是描述在各种不同情况下,要怎么解決问题的⼀一种⽅方案。
摘⾃自Wiki百科
So In a Nut Shell….
Agenda创建模式 • 简单⼯工⼚厂 • 抽象⼯工⼚厂 • 单例 !
结构模式 • 适配器 • 代理
⾏行为模式 • 模板 • 观察者
创建模式Creational Pattern
Factory
简单 ⼯工⼚厂模式
抽象⼯工⼚厂模式Abstract Factory
Intel和AMD平台⼤大战
把CPU和显卡插到主板上
单例模式Singleton
Singleton v1.0
Singleton v1.1
Singleton v1.2
Singleton v1.3
结构模式Structure Pattern
适配器模式Adaptor
适配器模式• 类适配器模式
适配器模式• 对象适配器模式
适配器模式• 需要记住的: – Adaptor模式的⽤用意是要改变源的接⼝口 –与⺫⽬目标接⼝口相容
• ⾓角⾊色: –⺫⽬目标(target) –源(adaptee) –适配器(adaptor) • Concrete class(必须是具体的类)
代理模式Proxy
代理模式• 对其他对象提供⼀一种代理⽤用以控制对这个对象的访问 –在某些情况下,⼀一个对象不能或者不想直接引⽤用另⼀一个对象 –代理模式可以在客户端和⺫⽬目标之间起到中介的作⽤用
• 其本质是在实际对象和调⽤用者之间插⼊入⼀一个中间⼈人(middle-‐man)
代理模式• Proxy模式
代理模式• 抽象对象 –⽣生命⺫⽬目标和代理的共同接⼝口
• ⺫⽬目标对象 –代理使⽤用的⺫⽬目标实例
• 代理对象 –包含⺫⽬目标对象,给客户端提供服务
⾏行为模式Behavior Pattern
模板⽅方法模式Template
模板⽅方法模式• template模式
模板⽅方法模式• 声明⼀一些抽象⽅方法迫使⼦子类实现 !
• 两个重要⾓角⾊色: –抽象模板 –具体模板
观察者模式Observer
观察者模式
• observer模式
观察者模式
• 使⽤用场景: –⼀一个抽象模型有两个⽅方⾯面,⼀一个依赖于另⼀一个 –两个⽅方⾯面各⾃自独⽴立(在不同的类中) –⼀一个改变需要同时改变其他对象 –需要通知其他对象,但⽆无法知道都有哪些对象(不希望紧耦合)
Recommended