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


    一、设计模式

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

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

    二、适配器模式

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

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

    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 }
  • 相关阅读:
    HDU 5001 Walk (暴力、概率dp)
    Codeforces Round #265 (Div. 2) C 暴力+ 找规律+ 贪心
    zoj 3812 We Need Medicine (dp 状压)
    ZOJ
    ZOJ 3811 / 2014 牡丹江赛区网络赛 C. Untrusted Patrol bfs/dfs/并查集
    POJ 2411 状压dp
    HDU 3001 三进制 状压dp
    POJ 2096 (dp求期望)
    poj 3311 状压dp 最短路
    数据挖掘的基本概念
  • 原文地址:https://www.cnblogs.com/tianjiazhen/p/12003132.html
Copyright © 2020-2023  润新知