模式说法之——适配器

简介: 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?   将一个类的接口转换成客户希望的另外一个接口。

在软件系统中,由于应用环境的变化,常常需要将一些现存的对象放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种迁移的变化?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?

 

将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

 

类适配实现

 

对象适配实现

 

现在实现对象适配器

(一)代码

//被适配者

    public class Adaptee

    {

        public void SpecificRequet()

        {

            Console.WriteLine("原有的正常的接口");

        }

    }

 

    //ITarget接口

    public interface ITarget

    {

        void Request();

    }

 

    //这里利用对象适配的方法。

    //适配器

    public class Adapter:ITarget

    {

        private Adaptee _adapte = new Adaptee();

 

        public void Request()

        {

            _adapte.SpecificRequet();

            Console.WriteLine("现有的经过适配的");

        }

    }

(二)测试

[Test]

        public void TestAdapter()

        {

            ITarget tt = new Adapter();

            tt.Request();

        }

 

 

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

目录
相关文章
|
7月前
|
人工智能 弹性计算 算法
【云故事探索】NO.5:PETKIT 小佩,科技与爱,共绘宠物智能生活新篇章
【云故事探索】NO.5:PETKIT 小佩,科技与爱,共绘宠物智能生活新篇章
166 0
|
监控 关系型数据库 MySQL
MySQL高可用MHA
MySQL高可用管理工具(MHA,Master High Availability)是一个用于自动管理MySQL主从复制的工具,它可以提供高可用性和自动故障转移。MHA由原版的MHA工具和MHA Manager组成,它们协同工作以实现自动主从切换和监控。
700 0
|
11月前
多行输入框
【10月更文挑战第1天】多行输入框。
65 4
|
SQL 存储 关系型数据库
MySQL中 LBCC 和 MVCC 的理解,常见问题及示例:
MySQL中 LBCC 和 MVCC 的理解,常见问题及示例:
681 1
MySQL中 LBCC 和 MVCC 的理解,常见问题及示例:
文件的打开关闭
文件的打开关闭。
137 0
|
Java Linux vr&ar
linux篇-Centos7jdk安装
linux篇-Centos7jdk安装
215 0
linux篇-Centos7jdk安装
彩铅练习,路飞
海贼王是我特别喜欢的一部动漫。 这一张路飞画的实在是不怎么像,练习中。 image.png
905 0
|
11天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1237 5
|
10天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1217 87