案例分析:设计模式与代码的结构特性

时间:2019-12-07
本文章向大家介绍案例分析:设计模式与代码的结构特性,主要包括案例分析:设计模式与代码的结构特性使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、设计模式

        设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。它与架构的区别在于设计模式比架构更抽象,是比架构更小的体系结构元素,是从代码层面总结的实现一个模块最优的方法。而常见的设计模式按照范围可以分为类模式和对象模式,按照目的可以分为创建型模式、结构型模式、行为型模式。创建型模式是对象实例化的模式,创建型模式用于解耦对象的实例化过程,包括抽象工厂模式、生成器模式、工厂模式、原型模式、单件模式;结构型模式是把类或对象结合在一起形成一个更大的结构,包括适配器模式(类对象)、组合模式(对象)、装饰模式(对象);行为型模式是描述类和对象如何交互,及划分责任和算法,包括迭代器模式、观察者模式、状态模式。

总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

二、适配器模式

适配器是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。

适配器模式有两种:类适配器、对象适配器、接口适配器

UML图

适配器模式应用场景:

(1)想要使用一个已经存在的类,但是它却不符合现有的接口规范,导致无法直接去访问,这时创建一个适配器就能间接去访问这个类中的方法。
(2)我们有一个类,想将其设计为可重用的类(可被多处访问),我们可以创建适配器来将这个类来适配其他没有提供合适接口的类。

类适配器模式代码:

1 public interface Ps2 {
2      void isPs2();
3 }
1 public interface Usb {
2      void isUsb();
3 }
1 public class Usber implements Usb {
2 
3     @Override
4     public void isUsb() {
5         System.out.println("USB口");
6     }
7 
8 }
1 public class Adapter extends Usber implements Ps2 {
2 
3     @Override
4     public void isPs2() {
5         isUsb();
6     }
7 
8 }
1 public class Clienter {
2 
3     public static void main(String[] args) {
4         Ps2 p = new Adapter();
5         p.isPs2();
6     }
7 
8 }

原文地址:https://www.cnblogs.com/tianjiazhen/p/12003132.html