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

做国外网站 国外人能看到吗网站建设适应全屏如何自动

做国外网站 国外人能看到吗,网站建设适应全屏如何自动,怎么设计wordpress首页,建设网站为什么要备案一. 前言 学习RxJava#xff0c;少不了介绍它的设计模式。但我看大部分文章#xff0c;都是先将其用法介绍一通#xff0c;然后再结合其用法#xff0c;讲解其设计模式。这样当然有很多好处#xff0c;但我个人觉得#xff0c;这种介绍方式#xff0c;对于没有接触过Rx…一. 前言 学习RxJava少不了介绍它的设计模式。但我看大部分文章都是先将其用法介绍一通然后再结合其用法讲解其设计模式。这样当然有很多好处但我个人觉得这种介绍方式对于没有接触过RxJava的朋友来说是不太友好的。 而我更倾向于先把对设计模式的认知拉齐然后在讲到用法的时候大家就会自然而然地理解了它怎么用到的设计模式从而也就更容易理解源码了一切都是水到渠成。 所以在本篇文章中大部分内容依然不会涉及RxJava但其实处处都有RxJava的影子。你需要做的就是完全理解本篇文章的内容没有理解到的地方请留言我都会一个一个认真看的。 不啰嗦了让我们开始正题吧 二. 观察者模式 1. 什么是观察者模式 一个比较书面化的定义是在对象之间定义一个一对多的依赖当一个对象状态改变的时候所有依赖的对象都会自动收到通知。 通俗一点理解假如说有两种对象一个是观察者一个是被观察者当一个被观察者对象发生变化的时候可以通知到所有的观察者对象。所有的观察者对象在接收到这个通知的时候可以做一些自己的处理。 2. Android中有没有例子 在Android中观察者模式其实很常见比如点击事件监听当view被点击的时候会通知到它的观察者也就是调用到你实现的onClick方法。再比如说EventBus比如LiveData其实都有运用到观察者模式。 3. 写个代码 本着KISS原则Keep It Simple, Stupid观察者模式比较简单所以在这里就不写代码了。 但值得一提的是RxJava中运用到的观察者模式和这里有一点微小的差别但根本思想是一样的。至于是什么微小的差别等讲到RxJava原理的时候你就理解了。 三. 装饰器模式 1. 什么是装饰器模式 可以通俗地理解为在不改变原有对象的基础上增强原有对象的功能。 2. Android中有没有例子 我们天天接触的Context就是一个非常典型的装饰器模式的例子。 Android中的Context对象是一个核心的组件它经常被装饰器进行功能扩展和定制。例如Activity、Service、BroadcastReceiver等都是Context的子类它们在基本的Context功能上添加了更多的生命周期管理、界面交互和事件处理等功能。 相当于在没有修改Context的基础上对Context进行了功能的增强。 3. 写个代码 因为我们平时关于装饰器模式写的不是很多所以我觉得有必要以一个很简单的例子向大家再进一步介绍下装饰器模式。 假设你经营一家咖啡店你的顾客可以根据自己的口味定制咖啡。首先我们有一个抽象的咖啡接口 public interface Coffee {String getDescription();double getCost(); }然后我们还有一个具体的咖啡实现 public class SimpleCoffee implements Coffee {Overridepublic String getDescription() {return Simple Coffee;}Overridepublic double getCost() {return 1.0;} }现在我们不满足于一个简单的咖啡SimpleCoffee而是要有一个可以加入牛奶的咖啡。相当于对原有的咖啡功能进行增强这时我们就可以借助装饰器模式来实现。 首先声明一个装饰器模式的抽象类也实现Coffee接口。 public abstract class CoffeeDecorator implements Coffee {protected Coffee coffee;public CoffeeDecorator(Coffee coffee) {this.coffee coffee;}Overridepublic String getDescription() {return coffee.getDescription();}Overridepublic double getCost() {return coffee.getCost();} }然后可以创建一个具体的装饰器类 public class MilkDecorator extends CoffeeDecorator {public MilkDecorator(Coffee coffee) {super(coffee);}Overridepublic String getDescription() {return super.getDescription() , Milk;}Overridepublic double getCost() {return super.getCost() 0.5;} }这样我们在使用的时候顾客可以选择加入咖啡而不会改变原有的咖啡类 Coffee simpleCoffee new SimpleCoffee(); Coffee coffeeWithMilk new MilkDecorator(simpleCoffee); System.out.println(coffeeWithMilk.getDescription()); // 输出Simple Coffee, Milk System.out.println(coffeeWithMilk.getCost()); // 输出1.5为什么实现了同一个接口 这里大家也会发现一个细节就是装饰器类和被装饰类都实现了同一个接口在这个例子中就是Coffee接口。这样做的好处就是可以统一以Coffee来接收装饰器类和被装饰类这使得客户端可以根据需求自由组合装饰器对象以获得所需的功能组合方便多次嵌套自己可以作为装饰器类也可以作为被装饰类实现更灵活符合“基于接口而非实现”的规范。 举个例子假如客户还想加糖那么就可以新增一个加糖的装饰器类 public class SugerDecorator extends CoffeeDecorator {public SugerDecorator(Coffee coffee) {super(coffee);}Overridepublic String getDescription() {return super.getDescription() , Suger;}Overridepublic double getCost() {return super.getCost() 0.3;} }然后顾客如果既想加糖又想加牛奶就可以这样实现 Coffee simpleCoffee new SimpleCoffee(); Coffee coffeeWithMilk new MilkDecorator(simpleCoffee); Coffee coffeeWithSuger new SugerDecorator(coffeeWithMilk);可以看到MilkDecorator本身既是装饰器类也是被装饰类使得原有对象的功能可以定制化地增强。而能够实现这些的原因就是装饰器类和被装饰类实现了同一个接口 四. 总结 本篇文章内容就到这里了其实本篇文章没有提到RxJava的具体知识但其实处处都有RxJava的影子。在本篇文章中你只需要牢牢掌握观察者模式和装饰器模式理解我举的例子就可以了。等看到RxJava的原理的文章时你就会豁然开朗 Android 学习笔录 Android 性能优化篇https://qr18.cn/FVlo89 Android 车载篇https://qr18.cn/F05ZCM Android 逆向安全学习笔记https://qr18.cn/CQ5TcL Android Framework底层原理篇https://qr18.cn/AQpN4J Android 音视频篇https://qr18.cn/Ei3VPD Jetpack全家桶篇内含Composehttps://qr18.cn/A0gajp Kotlin 篇https://qr18.cn/CdjtAF Gradle 篇https://qr18.cn/DzrmMB OkHttp 源码解析笔记https://qr18.cn/Cw0pBD Flutter 篇https://qr18.cn/DIvKma Android 八大知识体https://qr18.cn/CyxarU Android 核心笔记https://qr21.cn/CaZQLo Android 往年面试题锦https://qr18.cn/CKV8OZ 2023年最新Android 面试题集https://qr18.cn/CgxrRy Android 车载开发岗位面试习题https://qr18.cn/FTlyCJ 音视频面试题锦https://qr18.cn/AcV6Ap
http://www.w-s-a.com/news/571071/

相关文章:

  • 如何做视频门户网站网站建设模板ppt
  • 青岛黄岛区网站开发百度云盘登录入口
  • 建设银行甘肃省行网站房地产市场调研报告
  • js 网站制作合肥公司网站建设
  • 最好建网站系统的软件wordpress调用模版
  • 个人网站备案地址阿里云增加网站
  • 自己做网站要办手续吗重庆短视频制作公司排名
  • 哪个全球购网站做的好汉中门户网官网
  • 网站建设有哪几种wordpress 项目选项
  • 成都网站建设开发公司哪家好验证码插件 wordpress
  • 企业网站设计要点泰州市网站制作公司
  • 网站用户运营北京官方网站怎么做
  • 农业门户网站开发做首图的网站
  • wordpress 素材站模板怎么制作网站程序
  • 做ps合成的网站wordpress付费查看下载主题
  • 个人网站建设完整教程wordpress服务器搬迁
  • wordpress.主题广州 网站优化
  • 手机版网站怎样做推广如何用asp做视频网站
  • dede 网站打开慢七牛云 微信 打开 wordpress
  • 哪里网站建设公司比较好教育培训类网站模板
  • 中国建设银行官网首页网站wordpress小工具不能完全显示
  • 企业网站的开发流程是什么网站开发怎么销售
  • 现在网站还用asp做男科医院哪家好一些
  • 服装设计网站素材郑州汉狮做网站网络公司
  • 宜州做网站做仿制网站
  • 中山营销型网站厦门工程建设招聘信息网站
  • 网站开发 外包空心找回微信
  • 长沙市网站推广多少钱网站开发流程图和介绍
  • 网站后缀net施工企业自建自用的工程可以不进行招标是否正确
  • 鄂尔多斯市住房和城乡建设厅网站帮别人做网站赚钱6