Design Pattern

本文介绍了软件工程中常用的设计模式,包括创建型模式如Abstract Factory、Builder等,结构型模式如Adapter、Bridge等,以及行为型模式如Chain of Responsibility、Command等。通过对比不同模式的特点,帮助读者更好地理解和应用这些模式。

Studying notes(to be continued).

Catalog:

1.Creational Patterns
a.Abstract Factory
b.Builder
c.Factory Method
d.Prototype
e.Singleton

2.Structual Patterns
a.Adapter
b.Bridge
c.Composite
d.Decorator
e.Facade
f.Flyweight
g.Proxy

3.Behavioral patterns
a.Chain of Responsibility
b.Command
c.Interpreter
d.Iterator
e.Mediator
f.Observer
g.State
h.Strategy
i.Template Method


1.FactoryMode

a.SimpleFactoryMode

将简单类抽象化,通过不同参数生产出不同产品。

b.FactoryMethod

将工厂抽象化,通过不同的工厂生成不同的产品,将产品差异通过工厂来体现。

c.Abstract FactoryMode

工厂抽象、产品抽象。不仅生产A1,A2,还可以生产B1,B2.


2. Builder

Builder和factory类似。但是其不是返回一个产品。而是通过一个中间类,完成一系列子产品序列,返回一个完整的产品。

区别:

builder返回的通常是一个多个子产品组合的产品。

builder和工厂直接有一个组合的中间类。

Client->Director->BuilderProductA

                                BuilderProductB

                                BuilderProductC


3. Prototype 模式

复制一个对象,要求其实现clone和serialize接口




4. Adapter

针对特定接口对现存类进行包装(改变接口)


5.Bridge

不同抽象类接口相互转换

和Adapter区别,双向转换,adapter单向。


6.Facade 外观

和Adapter区别

Adapter对现有接口一对一包装,包装功能一致,而Facade会增加接口,可以认为是容器。

和Decorator区别

会隐藏接口,Decorator不会改变原来接口


7.Proxy

作为中介作用,通常用于client不能或者不想做的事情

和Adapter区别,proxy提供的接口和其代理的接口一致,而adapter不一定(比如数据库到文件系统代理)

和Bridge区别,Proxy是单向的,Bridge双向。


8.Decorator

给对象增加一些新功能

和Facade区别,Facade可能隐藏接口,Decorator不会改变原来接口


9.Iterator

提供一个顺序访问集合内部元素方法,而不暴露该对象内部表示。


10.Obserber Mode

用于一对多的依赖,当一个对象发生变化的时候,所有依赖于他的对象都得到通知。


uml relationship



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值