您的位置:首页 > 编程语言 > Java开发

java,结构模式,GoF设计模式

2017-08-25 14:30 176 查看
结构模式是描述如何将对象和类结合在一起,形成以个更大的结构。结构模式描述两种不同的东西:类与类的实例。故结构模式可以分成两类:类结构模式和对象结构模式。

在GoF设计模式中,结构模式有:

1.适配器模式 Adapter

适配器模式是将一个类的接口转换成客户希望使用的另一个接口,适配器模式使得那些原本由于接口不兼容而不能一起工作的类能够在一起工作。

两个成熟的类需要通信,但是接口却不行,由于开闭原则,我们不能去修改两个类的接口,所以矩需要适配器来完成衔接的任务。

2,桥接模式Bridge

桥接模式是将他的抽象部分和它的实现部分分离,使它们都可以独立得变化,他很好的支持了开闭原则和组合矩的复合原则。实现系统有可能多角度变化,每一种分类都有可能变化,那么就把这种多角度变化分离出来,让它们独立变化,减少它们之间的耦合。

3,组合模式Composite
组合模式将对象组合成树形结构以表示部分-整体的层次结构。组合模式使得用户对单个对象和组合对象的使用具有统一性。
4,装饰模式Decorator
装饰模式动态的给一些对象添加额外的职责,就增加功能来说,他比生成子类更加灵活。也可以这样说装饰模式将复杂类中的核心功能和修饰功能区分开了,这样既简化了相关复杂类,有去除了相关类中重复的装饰逻辑。装饰模式没有通过继承原有的类来拓展功能,但却表达了一样的目的,而且比继承的灵活性更高,所以可以说装饰模式是原有的继承的一种替代方案。
5,外观模式Facade
外观模式为子系统中的接口提供了统一的界面,外观模式定义了一个高级接口,这个接口使得子系统更加容易使用。外观模式中客户对具体的子系统是不了解的,所以对这些子系统进行了封装,对外只提供用户所能明白的单一而简单的接口。用户直接使用这个接口就能完成操作,而不用去了解它的具体实现过程。而且子系统的变化不会影响到客户,这样就做到了信息隐蔽。
6,享元模式Flyweight
享元模式为了使用共享技术有效得提供了大量细粒度的对象,因为它们可以通过共享大幅度得减少单个实例的数目,避免了大量非常相类似的开销。享元模式是一个类别的多个对象共享一个类别的一个对象,而不是各自再实例化各自的对象,这样可以达到节省内存的目的。
7,代理模式Proxy
为其他对象提供一种代理,并由代理对象控制对原对象的引用,以间接控制对原对象的访问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息