zhanggao / learnNotes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

设计模式-结构型

zhanggao opened this issue · comments

1、适配器:将一个类转成用户希望的另一个接口,使两个接口不兼容的类可以一起工作。主要解决将老系统的一些类放到新系统中,老系统的类不满足新系统的接口。
2、桥接:将抽象与实现解耦分离开来,使他们可以独立变化。主要解决继承带来的爆炸问题,扩展不灵活。
3、组合:
4、装饰:动态的给一些实体类增加一些额外的功能。假设有一个画正方形和画圆形的实体类,然后有一个画红色图形的装饰类,这个画红色图形的装饰类既可以装饰画正方形的实体类,又可以装饰画圆形的实体类。
5、外观:提供一个统一的接口用来访问子系统中的一系列接口。假设看电影需要开CD机、音响、显示器,然后提供一个统一的接口一次性开所有设备。
6、享元:利用共享的方式大量的细粒度的对象,这些对象一部分内部状态是相同的,还可以有一些不同的外部状态。主要用来避免创建大量对象。
7、代理:为其它对象提供一个代理,用来控制这个对象的访问。