适配器模式的分析、结构图及基本代码「建议收藏」

适配器模式的分析、结构图及基本代码

大家好,又见面了,我是全栈君。



以下说说适配器模式:

定义:将一个类的接口转换成客户希望的还有一个接口。

Adapter模式使得原本因为接口不兼容而不能一起工作的那些类能够一起工作。

适用地方:在软件开发中,也就是系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类。可是接口又与复用环境要求不一致的情况。
注意:要在两方都不太easy改动的时候再使用适配器模式适配。
开放-封闭原则:是说软件实体(类、模块、函数等等)应该能够扩展,可是不可修改。这个原则事实上有两个特征。一个是说‘对于扩展时开放的’。还有一个是说‘对于更改时封闭的’。在我们最初编写代码的时候,如果变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。

即面对需求,对程序的修改是通过新增代码进行的,而不是更改现有的代码。这就是‘开放-封闭原则’的精神所在,遵循这个原则能够带来面向对象技术所声称的巨大优点。也就是可维护、可扩展、可复用、灵活性好。
结构图:

适配器模式的分析、结构图及基本代码「建议收藏」
基本代码:

using System;
using System.Collections.Generic;
using System.Text;

namespace 适配器模式
{
    class Program
    {
        static void Main(string[] args)
        {
            Target target = new Adapter();
            target.Request();

            Console.Read();

        }
    }

    class Target
    {
        public virtual void Request()
        {
            Console.WriteLine(“普通请求”);
        }
    }

    class Adaptee
    {
        public void SpecificRequest()
        {
            Console.WriteLine(“特殊请求”);
        }
    }

    class Adapter : Target
    {
        private Adaptee adaptee = new Adaptee();

        public override void Request()
        {
            adaptee.SpecificRequest();
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115308.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eureka注册中心原理_腾讯实名认证中心

    eureka注册中心原理_腾讯实名认证中心英文版的官方教程搭建Eruka注册中心很简单,三个步骤1增加项目依赖,改pom文件2为Eruka新增配置文件3启动类加@EnableEurekaServer注解以上三个步骤。这篇文章很详细(此文看上半部分即可,下半部分是搭建多个Eruka集群,他们之间可相互通讯同步)。新建一个boot项目,里面只需要pom文件、配置文件Application.properties,和启动类三个文件就可以了。…

    2022年8月21日
    8
  • 【笔记】ES6 模板字符串

    【笔记】ES6 模板字符串ES6中的字符串可以用反引号括起来用作模板字符串。conststr=`HelloWorld`console.log(str)//HelloWorld通过上面的例子,我们能感觉到,这个用反引号括起来跟单引号括起来貌似没有什么区别,那我们为什么要用模板字符串呢?那是因为我们还没有讲到模板字符串的特性。模板字符串内可以插入变量值和表达式//插入变量constmoon=’月亮’conststr1=`代表${moon}消灭你`console.log(str1)/.

    2022年8月21日
    26
  • [SUS]SAP ERP传入SUS的采购订单查询不到的问题原因及解决方案

    [SUS]SAP ERP传入SUS的采购订单查询不到的问题原因及解决方案

    2021年9月6日
    71
  • SecureCRT的使用方法和技巧(详细使用教程)[通俗易懂]

    SecureCRT的使用方法和技巧(详细使用教程)[通俗易懂]随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧VanDykeCRT和VanDyke…

    2022年6月7日
    59
  • 基于Android点餐系统的设计与实现

    基于Android点餐系统的设计与实现该APP是一个包含前端用户点餐App和后端餐厅管理网页的系统,主要实现菜品相关的修改和展示、个人信息的管理、点餐预约等。

    2022年6月19日
    26
  • 四路抢答器c语言程序_八路抢答器原理讲解

    四路抢答器c语言程序_八路抢答器原理讲解//按钮P1;灯P0;数码管P2;P3^0主持人控制开关#include#defineucunsignedcharsbitli1=P0^0;sbitli2=P0^1;sbitli3=P0^2;sbitli4=P0^3;sbitli5=P0^4;sbitli6=P0^5;sbitli7=P0^6;sbitli8=P0^7;//定义灯sbitkey1=P1^0;sbit…

    2022年10月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号