当前位置: 首页 > 图灵资讯 > 技术篇> Java的七种结构型设计模式

Java的七种结构型设计模式

来源:图灵教育
时间:2021-12-26 15:01:15

  Java中一般认为有23种设计模式,这听起来很多,但是Java设计模式并不要求什么都能实现,我们只需掌握一些常用的设计模式。JavaDesign分为三个主要的类型:创建型的,结构型的,行为型的。小面详细说明了Java设计模式中的七个结构型模式。

java7种设计模式

  JavaDesign模式中的七种结构模式是:适配模式.装饰模式.代理模式.外观模式.桥接模式.组合模式.享受模式。这些对象的适配器模式来自于各种模式。

  I.适配器模式:

  类别的适配器模式:当您想要将一个类转换为满足另一个新接口的类时,可以使用类的适配器模式,创建新类,继承原有类,实现新接口。

  一个对象的适配器模式:如果您想将一个对象转换为符合另一个新接口的对象,则可以创建一个Wrapper类,该Wrapper类保存一个实例,而Wrapper类的方法调用实例的方法。

  界面的适配器模式:如果不想实现接口中的所有方法,就可以创建抽象类Wrapper,实现所有方法,在编写其他类时,继承这个抽象类。

  二.装修模式(装潢)

  1.类的功能需要扩充。

  2.为一个对象添加动态功能,并且可以动态撤销。(继承不能这样做,继承的功能是静态的,不能动态地增加和删除。)弊端:制作过多相似物品,不容易出错!

  三、代理模式。

  若现有方法在应用时需要对原方法进行改进,目前有两种方法:

  1.修改原来的方法以适应。这就违背了“开门见山,开门见山”的原则。

  2.利用一个代理类来调用原来的方法,并控制所得到的结果。这就是代理模式。

  采用代理模式,可以更清晰地划分功能,便于后期维护!

  四.外观模式(Facade)

  若不使用Computer类,则CPU.Memory.Disk中的实例将互相保留,建立依赖关系,从而导致依赖性,而修改一个类,还可能导致其他类的修改,这是我们所不希望看到的。使用Computer类,它们之间的关系被放在Computer类中,因此可以作为一种分离,只是外表模式!

  五.桥接模式(Bridge)

  希望jdbc也可以实现多个数据库。

  六.综合模式(Composite)

  用情景:将几个物体组合起来进行操作,通常用来表示一个树的结构,比如二叉树,数字等等。

  七.享受模式(Flyweight)

  采用连接池管理,无需每次重新建立连接,就可以实现数据库连接的共享,节约了数据库重建的开销,提高了系统性能!

  上面是Java设计模式的七个结构型模式,这些都是基本知识,大家一定要掌握哦!