当前位置: 首页 > news >正文

vs2019怎么创建网站网络科技公司名称

vs2019怎么创建网站,网络科技公司名称,品牌网站建设解决方案,如何注销网站域名适配器模式用于将一个接口转换成用户希望的另一个接口#xff0c;适配器模式使接口不兼容的那些类可以一起工作#xff0c;其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式#xff0c;也可以作为对象结构型模式。 Adapter is a structural design pattern that…适配器模式用于将一个接口转换成用户希望的另一个接口适配器模式使接口不兼容的那些类可以一起工作其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式也可以作为对象结构型模式。 Adapter is a structural design pattern that transforms an interface into another interface for the users desires and allows objects with incompatible interfaces to collaborate.结构设计 适配器模式包含如下角色 Target目标类描述了其他类与客户端代码合作时必须遵循的协议简单来说就是客户端使用的目标接口。 Adaptee适配者类待适配的类。客户端与其接口不兼容因此无法直接调用其功能。 Adapter适配器类适配器Adapter是一个可以同时与客户端和服务交互的类它在实现客户端接口的同时封装了服务对象。适配器接受客户端通过适配器接口发起的调用并将其转换为适用于被封装服务对象的调用。 Client客户端类客户端代码只需通过接口与适配器交互即可 无需与具体的适配器类耦合。 因此开发者可以向程序中添加新类型的适配器而无需修改已有代码。这在服务类的接口被更改或替换时很有用开发者无需修改客户端代码就可以创建新的适配器类。适配器模式有对象适配器和类适配器两种实现 (1) 对象适配器: (2) 类适配器: 伪代码实现 接下来将使用代码介绍下适配器模式的实现。首先是对象适配器模式的实现 // 1、目标类对客户端需要使用的目标接口进行声明 public interface Target {void request(); }// 2、适配者类待适配类其声明的接口无法被客户端直接调用 public class Adaptee {public void specialRequest() {System.out.println(---------do some thing in an adaptee instance---------);} }// 3、适配器类适配器可以接受客户端通过适配器接口发起的调用并将其转换为适用于被封装服务对象的调用。 // 对象适配器通过组合适配者实例并实现目标类来完成适配 public class Adapter implements Target {private Adaptee adaptee new Adaptee();Overridepublic void request() {adaptee.specialRequest();} }// 4、客户端调用 public class AdapterClient {public void test() {Target adapter new Adapter();adapter.request();} }其次是类适配器模式的实现 // 1、目标类对客户端需要使用的目标接口进行声明 public interface Target {void request(); }// 2、适配者类待适配类其声明的接口无法被客户端直接调用 public class Adaptee {public void specialRequest() {System.out.println(---------do some thing in an adaptee instance---------);} }// 3、适配器类适配器可以接受客户端通过适配器接口发起的调用并将其转换为适用于被封装服务对象的调用。 // 类适配器通过继承适配者实例并实现目标类来完成适配 public class Adapter extends Adaptee implements Target {Overridepublic void request() {specialRequest();} }// 4、客户端调用 public class AdapterClient {public void test() {Target adapter new Adapter();adapter.request();} }从上面的实现不难发现类适配器是基于继承实现而对象适配器是基于组合关系实现。由于对象适配器是通过关联关系进行耦合的因此在设计时更灵活而类适配器就只能通过重写Adaptee的方法进行扩展。 适用场景 在以下情况下可以考虑使用适配器模式 (1) 需要使用某个现有类但是这些类的接口不符合系统的需要可以考虑使用适配器。如以下场景 适配器模式允许创建一个中间层类 其可作为代码与遗留类、第三方类或提供接口的类之间的转换器。 如果需要复用这样一些类 他们处于同一个继承体系 并且他们又有了额外的一些共同的方法 但是这些共同的方法不是所有在这一继承体系中的子类所具有的共性。 扩展每个子类将缺少的功能添加到新的子类中且无法将功能提取到父类。 但是 必须在所有新子类中重复添加这些代码这样会使得代码有坏味道。 (2) 想要建立一个可以重复使用的类用于与一些彼此之间没有太大关联的一些类一起工作可以考虑使用适配器。 (3) 将缺失功能添加到一个适配器类中是一种优雅的解决方案。 在这方案中开发者可以将缺少功能的对象封装在适配器中 从而动态地获取所需功能。 如要这一点正常运作 目标类必须要有通用接口 适配器的成员变量应当遵循该通用接口。 这种方式同装饰模式非常相似。 优缺点 适配器让接口不兼容的对象可以相互合作。适配器模式有以下优点 (1) 单一职责。可以将接口或数据转换代码从程序主要业务逻辑中分离。 (2) 将目标类和适配者类解耦通过引入一个适配器类来重用现有的适配者类而无须修改原有代码。 (3) 增加了类的透明性和复用性将具体的实现封装在适配者类中对于客户端来说是透明的而且提高了适配者的复用性。 (4) 灵活性和扩展性都非常好通过使用配置文件可以很方便地更换适配器也可以在不修改原有代码的基础上增加新的适配器类完全符合“开闭原则”。 类适配器模式还具有如下优点 由于适配器类是适配者类的子类因此可以在适配器类中置换一些适配者的方法使得适配器的灵活性更强。 对象适配器模式还具有如下优点 一个对象适配器可以把多个不同的适配者适配到同一个目标也就是说同一个适配器可以把适配者类和它的子类都适配到目标接口。 但是适配器模式也存在以下缺点 (1) 代码整体复杂度增加 因为开发者需要新增一系列接口和类。 有时直接更改服务类使其与其他代码兼容会更简单。 类适配器模式还具有如下缺点 对于Java、C#等不支持多重继承的语言一次最多只能适配一个适配者类而且目标抽象类只能为抽象类不能为具体类其使用有一定的局限性不能将一个适配者类和它的子类都适配到目标接口。 对象适配器模式还具有如下缺点 与类适配器模式相比要想置换适配者类的方法就不容易。如果一定要置换掉适配者类的一个或多个方法就只好先做一个适配者类的子类将适配者类的方法置换掉然后再把适配者类的子类当做真正的适配者进行适配实现过程较为复杂。 参考 《设计模式可复用面向对象软件的基础》 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides 著 李英军, 马晓星 等译 https://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/adapter.html 适配器模式 https://blog.csdn.net/ShuSheng0007/article/details/116161690 秒懂设计模式之适配器模式 https://www.runoob.com/design-pattern/adapter-pattern.html 适配器模式 https://www.cnblogs.com/adamjwh/p/9033549.html 简说设计模式——适配器模式 https://refactoringguru.cn/design-patterns/adapter 适配器模式
http://www.hkea.cn/news/14380708/

相关文章:

  • 响应式app网站模板网站备注销
  • 学建筑设计出来能干嘛深圳企业股权优化
  • 网站漂浮二维码深圳租赁住房和建设局网站
  • 哪个网站能免费做电子书封面公司核名在哪个官方网站
  • 微信开放平台可以做网站么去西安旅游最佳路线
  • 采购网站建设东莞网站建设网络公司公司
  • 斐讯k3做网站莱芜论坛莱芜都市网
  • 合肥商城网站建设多少钱企业网站搜索优化外包
  • 广西建设科技在线网站wordpress根目录修改主题
  • 网站开发的毕业周记具有品牌的做pc端网站
  • 电子商务网站有哪几种左中右三栏布局网站建设
  • 手机网站建设实验报告杭州做网站
  • 上海城乡建设厅网站复杂的手游app要多少钱
  • 做网站搭建和微信平台推广营销策略分析论文框架
  • 中移建设招标网站网页界面设计中一般使用的分辨率显示密度是多少
  • 网站建站查询株洲发布
  • 北京网站优化排名网站设计公司企业邮箱
  • 什么是营销型网站设计横沥建设网站
  • 网站建设招标书范本30岁转行做网站设计
  • 咸阳北京网站建设镇江金山网镇江新闻
  • 甘肃电子商务网站建设wordpress发邮件慢
  • 建设一个直播网站网站功能开发费用多少钱
  • 易思企业网站管理seo博客推广
  • dedecms 古典棕色大气风格中药医药企业网站模板源码长春工作招聘网
  • 网站空间数据丢失江苏住房和城乡建设厅官网
  • 郑州哪家公司做网站html网页wordpress
  • 河南网站建设定制四大门户网站创始人
  • 网站模板间距下载站推广
  • 什么样的网站结构适合做seo自建房设计软件
  • 做AE视频素材在哪些网站上可以找网络工程好找工作吗