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

山东新昌隆建设咨询有限公司网站门户网站建设注意问题

山东新昌隆建设咨询有限公司网站,门户网站建设注意问题,wordpress 仪表盘修改,怎么做公司网页意图 复用已经存在的接口#xff0c;与所需接口不一致的类。即将一个类#xff08;通常是旧系统中的功能类#xff09;#xff0c;通过适配器转化成另一个接口的实现。#xff08;简单来说#xff0c;就是复用旧系统的功能#xff0c;去实现新的接口#xff09; 我们举…意图 复用已经存在的接口与所需接口不一致的类。即将一个类通常是旧系统中的功能类通过适配器转化成另一个接口的实现。简单来说就是复用旧系统的功能去实现新的接口 我们举一个框架中使用的例子springMVC中的dispatchServlet中执行流程是先获取请求对应的映射方法全类名然后找到该方法对应的适配器这就是适配器模式的使用因为springMVC需要执行方法后返回一个ModelAndView对象。但是我们直接反射执行方法是返回不了这个对象的这就需要适配器模式上场帮我们去适配返回一个ModelAndView了。 我们举个生活中的例子 适配器模式将一个类的程序设计接口转换成另一个接口术这很像变压器把一种电压变换成另一种电压。例如美国的生活用电电压是110 V而中国的电压是220 V。如果要在中国使用美国电器就必须有一个能把220 V电压转换成110 V电压的变压器这个变压器就是一个Adapter。 从下面两个图片我们可以知道适配器模式的本意我们可以这样理解220V插座提供的功能是220v供电的功能任何电器只需要供电就能正常运作。美国电器同样需要供电但是供电的类型有点特殊需要110v的供电但是我们项目中只有220v的接口那么就需要一个转换这个转换器就是我们后来所说的适配器即Adapter。 那么美国电器就是新的功能规范需要的功能类型和旧接口是一致的只是不能直接使用旧接口所以需要适配器去对旧接口进行转换操作 原本中国的电器使用 使用变压器后的美国电器使用 类图描述 类的适配器模式结构 通过继承来实现可用的类结构 可以看出Adaptee类没有Request方法其实不算没有Adaptee中的不能直接适配Request的功能而客户期待这个方法。为了使客户能够使用Adaptee类,需要提供一个中间环节,即Adapter类Adapter类实现了Target接口并继承自Adaptee,Adapter类的Request方法重新封装了Adaptee的SpecificRequest方法实现了适配的目的。因为Adapter与Adaptee是继承的关系,所以这决定了这个适配器模式是类的。 适配器模式涉及以下角色 (1)目标(Target)角色: 是客户所期待的接口。因为java不支持多继承,所以Target必须是接口不可以是类。 (2)源(Adaptee): 需要适配的类也就是旧系统中已经有的类。 (3)适配器(Adapter)角色: 把源接口转换成目标接口这一角色必须是类。 请注意适配器模式的要点是新的目标接口所需要的功能跟旧接口的一致但是又有一些差别因此需要适配器Adapter来进行转换处理而不是添加新的接口等切勿跟装饰模式搞混了。 对象的适配器结构 跟类的适配器结构区别在于Adapter中保持了一个旧的对象的引用而不是通过继承来实现 例子 假设目前有一个日期的工具类对象PersonDate返回的内容是当前的时间戳而此时用户希望得到年-月-日也就是年月日这样类型的于是这个新的规范抽象为一个接口UserDate 首先创建PersonDate类 public class PersonDate {//返回当前日期的时间戳public Long getNowDate(){Date datenew Date();return date.getTime();} } 然后创建新接口UserDate public interface UserDate {//返回当前日期的格式化内容 年-月-日String getNowDateString(); }创建适配器AdapterDate这里采用对象适配器的方式在适配器中保留旧对象的引用 public class AdapterDate implements UserDate{//保持旧实例的引用private PersonDate personDate;public AdapterDate(PersonDate personDate) {this.personDate personDate;}//具体的转换方法Overridepublic String getNowDateString() {//获取时间戳Long nowDate personDate.getNowDate();//转化成date对象Date datenew Date(nowDate);SimpleDateFormat formatnew SimpleDateFormat(yyyy-MM-dd);String dateString format.format(date);return dateString;} } 客户端测试 public class Client {public static void main(String[] args) {//客户端使用旧的接口PersonDate personDatenew PersonDate();System.out.println(personDate.getNowDate());//使用适配器对象UserDate userDatenew AdapterDate(personDate);System.out.println(userDate.getNowDateString());} } 运行结果 小结 到这里我们可以知道适配器模式的理念就是复用旧系统中的功能类去适配新的接口而新的接口恰好需要和旧系统中对象相同的功能不完全相同但是大体一致这时候就需要适配器去将旧功能对象去转化成为新接口的实现
http://www.hkea.cn/news/14425469/

相关文章:

  • 学seo建网站网站建设合同的注意点
  • 能用pinduoduo做网站吗深圳网站建设 设计卓越
  • 做短视频网站大数据分析网站
  • 百度wordpress博客福州网络营销推广产品优化
  • 网站建设的经费电脑ppt制作软件
  • 银川网站制作报价已备案域名交易
  • 网站建设可行性研究报告范文网站建设代理公司
  • 福田做商城网站建设哪家公司便宜点网页设计简单教程
  • 昆明二建建设集团网站装修装饰网站建设
  • 论文中引用网站中上海知名网站
  • 重庆公司网站建设河南省建筑一体化平台官网
  • 如何建立像淘宝一样的网站个人网站制作模板
  • 如何做品牌营销网站专题页优化
  • 百度的网站收录怎么做做网站设计公司
  • 温州网站推广站建设网站开发需要怎么做
  • wordpress 页眉修改外贸网站优化免费渠道
  • 简单网站建设价格从化区建设网站
  • 国外酷炫flash网站网站做自签发证书
  • 高校网络网站建设意义及措施网站建设做网站可以吗
  • 淘宝客网站源码html网站建设方案书制作流程
  • 不想让网站保存密码怎么做三大oa办公软件
  • 做国际网站阿里巴巴现在的网站使用frameset做吗
  • 网站保留密码 怎么做建设银行网站的特点
  • 学校网站建设维护投标方案网站建设如何报价
  • 公关就是陪人睡觉吗关键词优化营销
  • 酒东莞网站建设技术支持免费做期中考试的网站
  • 企业建设网站个人总结左旗网站建设公司
  • 提升访问境外网站速度网站手册
  • 多语网站wordpress子站点外国公司做网站
  • 可以用手机做网站吗吕梁营销型网站建设费用