首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Python机器学习算法说书人

    Python设计模式(7):适配器模式

    导言 在软件设计中,为了解决接口不一致的问题,两个软件模块之间往往需要通过一个适配器类 Adapter 进行“适配”。这样的模式叫做适配器设计模式。 类适配器模式 这里以问题引入类适配器模式的概念。 类适配器模式与对象适配器模式在形式上的区别是,类适配器模式对被适配对象采用了继承,而对象适配器对被适配对象采用的则是调用。 何时使用适配器模式 在下列情况下可以使用适配器模式。 类适配器模式与对象适配器模式的区别 如果一个被适配源类中有大量的方法,使用类适配器模式比较容易,只需要让 Adapter 类继承被适配的源类即可。

    2.2K20发布于 2019-07-26
  • 来自专栏EdisonTalk

    设计模式的征途—7.适配器(Adapter)模式

    二、适配器模式简介 2.1 适配器模式定义   适配器模式的实现就是把客户类的请求转化为对应适配者的相应接口的调用。 也就是说:当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法,而这个过程对于客户类来说是透明的,客户类并不直接访问适配者类。 (2)Adapter(适配器类):适配器可以调用另一个接口,作为一个转换器,对Adaptee和Target进行适配适配器类是适配者模式的核心,在适配器模式中,它通过继承Target并关联一个Adaptee对象使二者产生联系。    (3)Adaptee(适配者类):适配者即被适配的角色,它定义了一个已经存在的接口,这个接口需要适配,一般是一个具体类,包含了客户希望使用的业务方法,在某些情况下可能没有适配者类的源代码。

    82830发布于 2018-08-20
  • 来自专栏Java架构师必看

    ios学习7_iPhone屏幕尺寸、分辨率及适配

    今天说一说ios学习7_iPhone屏幕尺寸、分辨率及适配,希望能够帮助大家进步!!! 7.Resolutions &Rendering 8.@2x/@3x以及高倍图适配 (1)@2x @2x means the same “double”retina resolution (3)按字体适配 另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView 12.DEPRECATED API适配 最后,除了对屏幕尺寸和分辨率进行适配之外,还需对iOS SDK中相关的DEPRECATED API进行适配。 《iPhone 6/6+适配心得》 《iOS8/Xcode6/iPhone6(+)适配》 《APP适配iOS8,iPhone6(+)截图简要说明》 《按比例快速兼容适配iPhone6

    1.6K50编辑于 2022-04-24
  • 来自专栏全栈程序员必看

    ios学习7_iPhone屏幕尺寸、分辨率及适配

    7.Resolutions &Rendering 8.@2x/@3x以及高倍图适配 (1)@2x @2x means the same “double”retina resolution (3)按字体适配 另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView 12.DEPRECATED API适配 最后,除了对屏幕尺寸和分辨率进行适配之外,还需对iOS SDK中相关的DEPRECATED API进行适配。 《在Xcode 6中用矢量化PDF(vectorized PDF)来支持各种尺寸的iPhone》 《iOS8适配须知》 《适配iOS8备忘录》 《iOS界面适配(一)(二)(三)》 《iPhone 6/6+适配心得》 《iOS8/Xcode6/iPhone6(+)适配》 《APP适配iOS8,iPhone6(+)截图简要说明》 《按比例快速兼容适配iPhone6

    4.1K20编辑于 2022-08-27
  • 来自专栏十月梦想

    移动端适配之终极适配方案rem适配

    前面几篇移动端专区博文简单介绍了移动端的概述,以及简单的适配方案,百分比适配,比例缩放适配,viewport适配等,但是难免都有一些各种问题! 这次这个rem终极适配方案,是目前移动端的较为完美的适配方案! 简单介绍一下这个rem适配 px  固定值,设置多少就是多少不随屏幕大小改变 em  相对于自身字体大小 font-size:12px;  1em=12px em引发问题  1.chrome浏览器下规定字体最小 html)字体设置 html{ font-size:12px; } 1rem=12px,5rem=60px; 首先要去设置这个html(根节点的字体大小),rem是根据这个根节点的字体大小进行适配 当然去适配的时候这个根节点的大小如何设置才能更好适配呢?

    2K20发布于 2018-08-29
  • 来自专栏十月梦想

    移动端适配之viewport适配

    前面说过了比例缩放适配,本来想直接介绍rem适配!还是补充一下这个viewport适配吧!其实这个viewport也归属于比例缩放适配的一种吧! 首先我们可以获取到当前设备的独立像素(window.screen.width),然后通过适配的像素比(dpr)还原其真实逻辑像素(物理像素),然后在其还原后的设备像素上进行适配. 那么这个viewport适配有什么问题呢? (比例缩放时候讲过),尽管这样,也算尽量尽可能的去适配!随后继续介绍较为完美的rem布局适配方案!淘宝的布局方案,也算此种方式!不过适配的是dpr2.0的!

    1.3K10发布于 2018-08-29
  • 来自专栏java达人

    透过源码学习设计模式7-适配器模式与HandlerApapter

    Adaptee:原有的类,即需要适配的类或被适配者类。 Adapter:适配器类,将Adaptee中的接口封装成Target中的新接口,来满足新的需求。 过程: 客户通过目标接口调用适配器的方法对适配器发出请求,适配器使用被适配者接口把请求转换成被适配者的一个或多个调用接口。客户接收到调用的结果,但未察觉到一切都是适配器在起转换作用。 ,即适配器实现我们的目标接口,但是并不继承需要被适配的类,而是通过在适配器的构造函数中将需要被适配的类传递进来从而进行适配。 对象适配器还有的优点:   把多个不同的适配适配到同一个目标,也就是说,同一个适配器可以把被适配者类和他的子类都适配到目标接口。 类适配器即适配器Adapter继承被适配者Adaptee,并实现目标接口Target。 如图: ?

    93330发布于 2019-09-29
  • 来自专栏Flutter入门到实战

    Android适配全面总结(一)----屏幕适配

    在平板电脑和电视的屏幕(>7英寸)上:实施 双面板 模式以同时显示更多内容,它会加载res/layout-large里面的布局,在手机较小的屏幕上:使用 单面板 分别显示内容,加载的是res/layout 例如,标准 7 英寸平板电脑的最小宽度为 600 dp,因此如果您要在此类屏幕上的用户界面中使用双面板(但在较小的屏幕上只显示列表),您可以使用上文中所述的单面板和双面板这两种布局,但您应使用 sw600dp 适配手机的单面板(默认)布局:res/layout/main.xml 适配尺寸>7寸平板的双面板布局(Android 3.2前):res/layout-large/main.xml 适配尺寸>7寸平板的双面板布局 每种屏幕尺寸和屏幕方向下的布局行为方式如下所示: 小屏幕,纵向:单面板,带徽标 小屏幕,横向:单面板,带徽标 7 英寸平板电脑,纵向:单面板,带操作栏 7 英寸平板电脑,横向:双面板,宽,带操作栏 10 横向:双面板,宽,带操作栏 解决方案: 第一步:先定义类别:单/双面板、是否带操作栏、宽/窄 定义在 res/layout/ 目录下的某个 XML 文件中 第二步:再进行相应的匹配:屏幕尺寸(小屏、7

    4.6K50发布于 2018-09-03
  • 来自专栏十月梦想

    移动端适配之比例缩放适配

    前面一篇简单介绍了适配的方案(百分比适配),对于百分比的适配也是挺多问题,这次介绍一下viewport适配方案! 适配的思想呢? 此时我们可以将所有的设备的独立设备像素转为375px(ip6的),然后进行渲染适配,在375px上就行布局! 那么这个比例缩放适配存在什么问题呢? head的子元素 document.head.appendChild(meta) } )() </script>           然后进行去设置,这个宽度和高度相对于之前的百分比适配很好的提升 但是750px的图像等,在原始独立像素大于414的设备可能出现图像失真等问题,后面会详细介绍一下移动端终极适配方案rem适配 本博客所有文章如无特别注明均为原创。 原文地址《移动端适配之比例缩放适配》 分享到:更多 标签: 移动端适配 比例缩放适配

    1.6K30发布于 2018-08-29
  • 来自专栏Flutter入门到实战

    Android适配全面总结(二)----版本适配

    49fa8ebc0105 转载请标明出处: https://www.jianshu.com/p/49fa8ebc0105 本文出自 AWeiLoveAndroid的博客 ---- 上一篇文章讲了 屏幕适配 http://www.jianshu.com/p/7aa34434ad4d 这一篇文章讲一下 版本适配 https://www.jianshu.com/p/49fa8ebc0105 下一篇文章讲一下 ROM适配 https://www.jianshu.com/p/f9c67a4b908e ? 在我们的开发中,会对不同安卓版本做适配,比如我之前做过的项目中最低兼容到4.4,最高兼容是最新的系统7.1,由于不同版本的系统中部分API版本也不同,我就要对这些API做特殊处理。 2、华为手机的一些特殊处理方式,详情参见 ROM适配 https://www.jianshu.com/p/f9c67a4b908e ---- 六、Android 8.0适配报错:Only fullscreen

    3K10发布于 2018-09-03
  • 来自专栏码客

    Android 适配18:9全面屏适配

    android:resizeableActivity="true"> 这种方案会开启Android N分屏功能,所以需要适配下每个 Activity 自适应高度. android:name="android.max_aspect" android:value="2.1" /> </application> 目前我主要用到第二种方式来适配

    1.3K20发布于 2019-10-22
  • 来自专栏Flutter入门到实战

    Android适配全面总结(三)----ROM适配

    (一)----屏幕适配 上一篇文章讲了 Android适配全面总结(二)----版本适配 这一篇文章讲一下 ROM适配。 下面这篇文章就来讲一下几个主流手机的ROM适配问题。 ? ---- 7、关于华为手机App权限更改导致应用重启的坑(暂且我还没有很好的解决方式) 问题重现: 1.当我们在华为手机上打开一个应用,将应用退至后台进程中。 /github.com/AweiLoveAndroid/Solve-StatusBar-VirtualKeyBoard (二)沉浸式状态栏图标的适配 2.2.1 小米MIUI系统适配 之前做沉浸式状态栏 (四)改变状态栏字体颜色为黑色的适配 2.4.1 小米适配 /** * 改变小米的状态栏字体颜色为黑色,要求MIUI6以上 * tested on: MIUI V7 5.0 Redmi-Note3

    2.7K10发布于 2018-09-03
  • 来自专栏jojo的技术小屋

    适配iPhoneX

    作者:汪娇娇 时间:2017年12月26日 我这里说的适配iPhoneX,是一种比较简单粗暴的适配法,就是填满整个屏幕(包括安全区域和上下左右这些边,见下图)。

    39410编辑于 2022-03-21
  • 来自专栏韩曙亮的移动开发专栏

    【Android 屏幕适配】屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机平板电脑设备屏幕适配 )

    文章目录 一、屏幕适配限定符 二、手机/平板电脑设备屏幕适配 平板电脑市场占有率 密度无关像素计算 手机设备限定符 平板设备限定符 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 一、屏幕适配限定符 ---- Android 系统加载应用资源时 , 会根据当前运行应用的设备的相关属性 , 如 : 屏幕尺寸 / 屏幕像素密度 / 宽高比 / 屏幕方向 等属性 , 加载不同的屏幕适配限定符目录下的资源 \rm 320 < dpi \leq 480 ; xxxhdpi : 超超超高屏幕像素密度 , \rm 480 < dpi \leq 640 ; 屏幕方向限定符 : 一般是用于横竖屏切换时进行适配 屏幕宽高比限定符 : 标准屏幕宽高比为 16:9 ; long : 比标准屏幕要长的屏幕 , 如 20:9 , 21:9 ; notlong : 标准屏幕 ; 二、手机/平板电脑设备屏幕适配 就可以使用 sw360dp 限定符下的资源 , 如 res/layout-sw360dp 目录下的资源 ; 平板设备限定符 在 布局 或 图片 目录名称中 , 加上 sw480dp 限定符 , 对应 7

    7.9K20编辑于 2023-03-30
  • 来自专栏blog(为什么会重名,真的醉了)

    设计模式-适配器模式(类适配器、对象适配器、接口适配器详解)

    文章目录 适配器模式 类适配器 对象适配器 接口适配器 总结 适配器模式 适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作 适配器模式主要分为三类:类适配器模式、对象适配器模式、接口适配器模式 工作原理 将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容。从用户的角度看不到被适配者,是解耦的/。 用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法,用户收到反馈结果,感觉只是和目标接口交互。 类适配器 顾名思义,通过适配器通过类来实现,以类来继承和实现接口的方式,来获取被适配类的信息并转换输出重写到适配接口。 对象适配器 顾名思义,通过实例对象(构造器传递)来实现适配器,而不是再用继承,其余基本同类适配器。即:持有src类,实现dst类接口,完成src->dst的适配

    3.4K41编辑于 2022-05-08
  • 来自专栏码客

    iOS适配

    iOS7适配 状态栏设置 首先,需要在Info.plist配置文件中,增加键:UIViewControllerBasedStatusBarAppearance,并设置为YES; 然后,在UIViewController ,但是我还是放在屏幕适配里说一下。 上 iOS7 仅会作用到 self.view 上 另外当你还需要手动调用 contentInset 的时候,iOS7 似乎就不会自动调整了。 iOS9适配 http无法请求 在Info.plist中添加NSAppTransportSecurity类型Dictionary。 详细介绍 请查看 iOS10适配 设备权限添加提示信息 最近更新版本时无论提交几次 在构建版本里都不显示 iOS 10 的设备权限需要在plist 文件里面添加字段。

    1.4K10发布于 2019-10-22
  • 来自专栏DannyHoo的专栏

    xib适配

    https://blog.csdn.net/u010105969/article/details/47908763 利用XIB对控件进行适配,首先要选中控件然后再按照下面的步骤进行操作。 有上、左、下、右、高、宽的适配。 ? ?

    86220发布于 2018-09-13
  • 来自专栏全栈程序员必看

    Android开发 屏幕适配之像素密度适配

    由于市场上采用Android系统的设备种类繁多,迫使Andriod开发人员不得不做烦人的适配工作。 适配工作包括对安装不同Android版本的设备进行适配,对不同屏幕的设备进行适配等。 而屏幕适配又包括: 屏幕尺寸(small,normal,large,xlarge , 这些在Android 3.2以上版本开始不建议使用,转而使用最小屏幕宽度如 sw600dp,最小宽度,最小高度等) 屏幕方向(port 竖屏,land 横屏) 屏幕像素密度(ldpi,mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi) 本文主要介绍屏幕像素密度适配相关知识。 如何进行像素密度的适配? 首先,Android将mdpi即中密度作为基准线,即以密度160 dpi 作为参考值。 96),hdpi会拉伸大小(64 -> 96) 最后一个ImageView引用的图片@drawable/hdpi_test_2 其大小是72×72,可以看出它的画质最为清晰,这也正体现根据屏幕像素密度适配的重要性

    1.8K10编辑于 2022-09-06
  • 来自专栏小鑫の随笔

    web移动端适配之rem适配原理

    !function(window, document) { function setSize() { // 设备宽度 let deviceWidth = window.screen.width; // 设计稿宽度 const baseValue = 750; // html的字体大小 = (设备宽度 / 设计稿宽度) * 100 document.documentElement.style.fontSiz

    1.4K50编辑于 2022-02-25
  • 来自专栏noteless

    设计模式之适配器模式 adapter 适配器模式分类概念角色详解 类适配器 对象适配器 接口适配器 双向适配

    现实世界中的适配器模型 先来看下来几个图片,截图自淘宝 上图为港版的插头与港版的插座 上图为插座适配器卖家的描述图 上图为适配后的结果 现实世界中适配器模式 角色分类 注意:此处说的接口,并不是单纯的指Interface,而是指一切可以提供方法调用的类型,可能是接口也可能是类 客户使用适配器的过程: 客户通过目标接口调用适配器的方法,对适配器发出请求 适配器使用被适配者接口把请求进行处理 适配器分类 适配器三种模式 类适配器    对象适配器接口适配器 想要把一个类的接口转换为客户希望的另外一个接口必须要有输入输出,有目标  有源所以作为一个适配器,必须要 一手拿着被适配者也就是源  ,那么,被适配者的子类拥有的方法和行为,他并不能拥有,也就是说不能适配适配者的子类 优点,那就是,适配器作为被适配者的子类,自然拥有更多的操作空间,比如重写方法 对象适配器 如同我们上面的例子一样 ,如果把被适配者当做一个属性对象放到适配器中,这就是对象适配器 显然,他不要求目标一定是接口, 继承还是实现都可以 同类适配器比较的话,显然,他不能对被适配者 原来的一些方法进行操作

    2K30发布于 2018-09-11
领券