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

网站模板建站教程视频网络营销百度百科

网站模板建站教程视频,网络营销百度百科,石景山周边网站建设,淮南市建设委员会网站什么是适配器设计模式 可将接口进行转换以适应不同需求 上图理解 适用场景 mybatis日志框架 新老版本接口的兼容 适配器模式角色划分 源(Adaptee):需要被适配的对象或类型。 适配器(Adapter):连接目标和源…

什么是适配器设计模式

可将接口进行转换以适应不同需求
上图理解
在这里插入图片描述

适用场景

mybatis日志框架
新老版本接口的兼容

适配器模式角色划分

源(Adaptee):需要被适配的对象或类型。
适配器(Adapter):连接目标和源的中间对象,相当于转换器。
目标(Target):期待得到的目标。

原理图

在这里插入图片描述

实现

  • 模拟新老版本接口兼容

     public class ListAdapter extends HashMap {private List list;public ListAdapter(List list) {this.list = list;}@Overridepublic int size() {return list.size();}@Overridepublic Object get(Object key) {return list.get(Integer.valueOf(key.toString()).intValue());}static class OrderServer {//原有接口为Mappublic static void froOrderMap(Map map) {for (int i = 0; i < map.size(); i++) {// 使用I作为MapKey获取数据String value = (String) map.get(i);System.out.println("value:" + value);}}}public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("a");list.add("b");//现模拟前端传入的对象为ListListAdapter listAdapter = new ListAdapter(list);ListAdapter.OrderServer.froOrderMap(listAdapter);}}
    
  • 模拟mybatis Log

Log

/*** log adaptee source* @author administrator*/
public interface Log {public void info();
}

BaseImpl

    /*** base log,it's also base_log target* @author administrator*/public class BaseImpl implements Log{@Overridepublic void info() {System.out.println("this is base log");}}

Log4jAdapter

    /*** log4j adapter* @author administrator*/public class Log4jAdapter implements Log{private Log log;public Log4jAdapter(Log log) {this.log = log;}/*** log4j impl ,it's also log4j target* pass target to adapter*/@Overridepublic void info() {//base loglog.info();//log4j logSystem.out.println("this is log4j log");}public static void main(String[] args) {new Log4jAdapter(new BaseImpl()).info();}}

Slf4jAdapter

    /*** slf4j adapter** @author administrator*/public class Slf4jAdapter implements Log {private Log log;public Slf4jAdapter(Log log) {this.log = log;}/*** slf4j impl ,it's also slf4j target* pass target to adapter*/@Overridepublic void info() {//base loglog.info();//slf4j logSystem.out.println("this is slf4j log");}public static void main(String[] args) {new Slf4jAdapter(new BaseImpl()).info();}}

思想来源

http://www.lbrq.cn/news/2699659.html

相关文章:

  • 建设网站建设哪家快软文广告范文
  • 销售网站建设怎么样新手学seo
  • 做二手家电市场加什么网站可以我要学电脑哪里有短期培训班
  • 深圳网站设计首选柚米福州短视频seo获客
  • 全套商城网站后台管理系统网站管理页面西安seo黑
  • 手机微信网站建设最新百度快速排名技术
  • 在百度怎么开店卖货百度官方优化指南
  • 南京网站a建设云世家南通百度seo代理
  • java怎么做网站流量统计磁力链搜索引擎入口
  • 徐州做网站的公司招聘互联网营销软件
  • aspcms网站后台登陆界面模版快速提升网站关键词排名
  • wordpress用户注册设置专业seo推广
  • 安康网站建设电话日本和韩国是亚洲的国家
  • app定制开发制作搜索引擎优化seo公司
  • 中企动力做的网站不好SEO宁波网站关键词排名推广
  • 拓者设计室内设计官网首页seo店铺描述例子
  • 会泽网站建设百度公司介绍
  • 帝国做网站是选择静态还是伪静态东莞推广平台有哪些
  • 有什么做家常菜的网站宁波seo公司排名榜
  • 网站建设企业熊掌号免费企业黄页查询官网
  • 怎么做扒代码网站最有效的恶意点击软件
  • 哈尔滨快速网站排名平面设计培训
  • 网上书店网站建设的说明书最全的搜索引擎
  • 互联网 网站建设怎么搜索关键词
  • 南昌定制网站公司如何创建网站教程
  • 网推app下载seo优化销售话术
  • 如何做网站域名百度推广销售
  • 老年人做网站自媒体人专用网站
  • 网站开发实战 课程线上营销推广方式
  • 怎样做 网站的快捷链接seodao cn
  • 算法训练营DAY57 第十一章:图论part07
  • 教程 | Win11彻底关闭“推荐的项目“,解放开始菜单! (Windows11推荐项目设置器)
  • ZeroNews:如何构建安全(无需 V*N!)的工业物联网连接
  • Java 基础编程案例:从输入交互到逻辑处理
  • Day38--动态规划--322. 零钱兑换,279. 完全平方数,139. 单词拆分,56. 携带矿石资源(卡码网),背包问题总结
  • Express中间件和路由及响应方法