最新要闻
- 全球热消息:NVIDIA发布GeForce 527.37驱动 4倍性能提升的DLSS3游戏再加一
- 焦点播报:苹果A处理器不玩性能!iPhone 16曝光:屏幕更完美、2TB售价欲超2万
- 环球信息:美国家庭平均月薪出炉引热议:超出想象!就这还靠信用卡续命
- 你贡献过几部iPhone?全球最强打工人:苹果库克年薪近1亿美元 自愿降薪40%
- 每日速递:监管新规下车险保费最高可降23%?业内人士:有些还会变贵
- 天天即时看!打破多项纪录!我国汽车产销总量连续14年全球第一:新能源暴涨翻倍
- 《王者荣耀》兔年春节福利一览:武则天神器传说皮肤来了
- 我国第一型“金牌火箭” 长二丙火箭成功发射亚太6E卫星
- 国产高端手机份额第一!卢伟冰:小米13系列好评99% 自然销量高
- 【天天快播报】史上第一颗6GHz CPU!i9-13900KS发布:性能涨3% 价格涨20%
- 理想汽车CEO曾试图接触威马沈晖?本人回应:纯属放屁!
- 世界新资讯:韩国第一个月球探测器发回第一张照片:地月黑白合影
- 微头条丨女子乘火车遇麻将专列生意火爆 还能K歌引围观:网友直呼想买站票
- 全球观焦点:三级应急响应启动!寒潮预警升级 降温图又变紫了:局地降超20度
- 天天观天下!盖茨自曝他的主力机是三星Galaxy Z Fold4:李在镕送的
- 全球热文:《卧龙:苍天陨落》中配预告 声优大佬云集、虎牢关战吕布超燃
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
焦点快看:读编程与类型系统笔记06_函数类型的高级应用
(资料图片)
1.装饰器模式
1.1.扩展对象的行为,而不必修改对象的类
1.2.装饰的对象可以执行其原始实现没有提供的功能
1.3.优势
1.3.1.支持单一职责原则
1.3.1.1.每个类只应该承担一种职责
1.4.经典实现
1.4.1.一个IComponent接口
1.4.2.一个具体实现,即ConcreteComponent
1.4.3.使用额外行为来增强IComponent的Decorator
1.4.3.1.例如:添加单例行为
1.4.4.特点
1.4.4.1.一个接口
1.4.4.1.1.接口声明了多个方法,就无法使用一个函数类型来替代接口
1.4.4.2.两个类
1.4.4.3.每个类一个方法
1.4.4.3.1.具体操作
1.4.4.3.2.装饰器
1.5.函数装饰器
1.5.1.接口改为一个函数类型
1.5.1.1.示例:该类型的函数不接受实参,返回一个Widget:() => Widget
1.5.2.一个具体实现的类替换为简单函数
1.5.3.一个新函数singletonDecorator()
1.5.3.1.接受一个WidgetFactory类型的函数
1.5.3.2.返回另外一个WidgetFactory类型的函数
1.5.3.3.采用lambda实现
1.5.4.特点
1.5.4.1.一个函数类型
1.5.4.1.1.工厂函数类型
1.5.4.2.两个函数
1.5.4.2.1.工厂函数
1.5.4.2.2.装饰器函数
1.6.闭包
1.6.1.lambda捕获
1.6.1.1.lambda内捕获的一个外部变量
1.6.2.编程语言通过闭包来实现lambda捕获
1.6.3.闭包记录了创建该函数时的环境
1.6.3.1.可以在不同调用之间维护状态
1.6.4.lambda引用了函数的局部变量
1.6.4.1.其生存期将大于创建它的函数
1.6.4.2.函数的局部变量在调用函数时创建,在函数返回时销毁
1.6.5.保留了其外层函数的一些状态信息的lambda
1.6.6.只有存在高阶函数,闭包才有意义
1.6.6.1.不能从一个函数中返回另一个函数,就不存在要捕获的环境
1.6.6.2.所有函数都在全局作用域内,所以全局作用域就是它们的环境
1.6.6.2.1.函数只能引用全局变量
1.6.7.对象代表一组方法的某个状态
1.6.8.闭包则代表捕获到某个状态的函数
2.计数器
2.1.全局计数器
2.1.1.一个引用全局变量的简单函数
2.1.2.缺点
2.1.2.1.计数器的值没有被恰当封装
2.1.2.2.不能使用计数器的两个独立的实例
2.2.面向对象的计数器
2.2.1.多个独立的计数器
2.3.函数式计数器
2.3.1.代码比面向对象版本的更加简洁
2.4.可恢复的计数器
2.4.1.可恢复的函数
2.4.1.1.跟踪自己状态的函数,在被调用时,不会从头运行,而是从上一次返回时所在的状态恢复执行
2.4.2.不使用关键字return来退出函数
2.4.3.使用关键字yield
2.4.3.1.必须把函数声明为一个生成器
2.4.3.2.其返回类型必须是可迭代的迭代器
2.4.3.3.在函数名称的前面加上星号来声明生成器
2.4.4.TypeScript语法
2.4.5.生成器通过特殊语法来创建可恢复的函数
2.4.6.生成器不是返回控制权,而是交出控制权
3.异步
3.1.按顺序运行代码可能导致不可接受的延迟
3.2.回调
3.2.1.作为实参提供给异步函数的一个函数
3.2.2.也可以从异步函数那里收到实参
3.3.异步执行模型
3.3.1.线程
3.3.2.事件循环
3.3.2.1.使用一个队列
3.3.2.2.异步函数将被加入队列
3.3.2.3.它们自己也可以将其他函数排队
3.3.2.4.只要队列不为空,队列中的第一个函数就将被取出来执行
3.3.2.5.优点
3.3.2.5.1.I/O操作等待数据时让它们排队的效果很好
3.3.2.5.2.不需要同步,因为所有代码在一个线程上运行
3.3.2.6.缺点
3.3.2.6.1.对于运行时间长,但是不能被拆分为多个操作的任务,效果不好
3.3.2.6.2.CPU密集的操作会造成阻塞
3.3.2.6.2.1.CPU密集的操作(如复杂计算)不能被排队
3.3.2.6.2.2.需要CPU周期
3.3.2.6.2.3.没有等待数据
3.4.简化异步代码
3.4.1.promise
3.4.1.1.将来某个时刻可用的值的一个代理
3.4.1.2.在生成该值的代码运行之前,其他代码可以使用该promise设置在该值可用后如何处理该值,在发生错误时如何处理,甚至取消将来的执行
3.4.1.3.让代码的可读性相比使用回调时更好
3.4.1.4.状态
3.4.1.4.1.等待(pending)
3.4.1.4.1.1.已被创建,但还没有完成
3.4.1.4.2.完成(settled)
3.4.1.4.2.1.已经调用了,并提供了一个值,此时将调用continuation
3.4.1.4.3.拒绝(rejected)
3.4.1.4.3.1.调用reject()或者抛出错误
3.4.1.4.3.1.1.当前的promise会被拒绝
3.4.1.4.3.1.2.通过then()链接到该promise的其他所有promise都会被拒绝
3.4.1.5.组合promise
3.4.1.5.1.Promise.all()
3.4.1.5.1.1.一组promise作为实参
3.4.1.5.1.2.返回当提供的所有promise都完成后完成的一个promise
3.4.1.5.2.Promise.race()
3.4.1.5.2.1.一组promise作为实参
3.4.1.5.2.2.返回当提供的任何一个promise完成时完成的一个promise
3.4.2.continuation
3.4.2.1.在promise的结果可用后调用的函数
3.4.2.2.并非必须返回一个promise
3.4.2.2.1.不是总会链接异步函数
3.4.2.2.2.可以同步执行
3.4.2.2.3.自动转换为Promise
3.4.2.3.每个continuation放到一个单独的函数中,并通过then()把它们链接起来
3.4.3.函数promise提供给我们某个类型T的值,以及指定从T到其他某个类型U的函数((value: T)=> U)的能力,当承诺被履行,我们得到了值以后,将调用这个函数(它就是continuation)
3.4.4.JavaScript(及TypeScript)采用Promise类型实现
3.4.5.C#采用Task实现
3.4.6.JAVA采用CompletableFuture实现
3.4.7.async/await
3.4.7.1.代码的可读性更好
3.4.7.1.1.异步代码读起来类似于同步代码
3.4.7.2.把所有代码写到一个函数中,每当调用另外一个返回promise的函数,就等待(await)其结果,然后在得到结果后继续执行
3.4.7.3.异常将从await调用抛出,可在try/catch语句中捕获
3.4.7.4.不使用then()提供continuation
3.4.7.5.语法糖
焦点快看:读编程与类型系统笔记06_函数类型的高级应用
全球热消息:NVIDIA发布GeForce 527.37驱动 4倍性能提升的DLSS3游戏再加一
焦点播报:苹果A处理器不玩性能!iPhone 16曝光:屏幕更完美、2TB售价欲超2万
环球信息:美国家庭平均月薪出炉引热议:超出想象!就这还靠信用卡续命
你贡献过几部iPhone?全球最强打工人:苹果库克年薪近1亿美元 自愿降薪40%
每日速递:监管新规下车险保费最高可降23%?业内人士:有些还会变贵
天天即时看!打破多项纪录!我国汽车产销总量连续14年全球第一:新能源暴涨翻倍
《王者荣耀》兔年春节福利一览:武则天神器传说皮肤来了
我国第一型“金牌火箭” 长二丙火箭成功发射亚太6E卫星
全球动态:[概率论与数理统计]笔记:3.5 大数定律与中心极限定理
环球滚动:Spring Cloud Alibaba 2022.0.0.0 版本发布啦!
国产高端手机份额第一!卢伟冰:小米13系列好评99% 自然销量高
【天天快播报】史上第一颗6GHz CPU!i9-13900KS发布:性能涨3% 价格涨20%
理想汽车CEO曾试图接触威马沈晖?本人回应:纯属放屁!
世界新资讯:韩国第一个月球探测器发回第一张照片:地月黑白合影
每日资讯:【深度学习】常用PyTorch CUDA版本whl下载及在线安装命令
世界今日讯!「闲话随笔」势能分析法
全球短讯!MQ——如何选择消息队列
微头条丨女子乘火车遇麻将专列生意火爆 还能K歌引围观:网友直呼想买站票
全球观焦点:三级应急响应启动!寒潮预警升级 降温图又变紫了:局地降超20度
天天观天下!盖茨自曝他的主力机是三星Galaxy Z Fold4:李在镕送的
全球热文:《卧龙:苍天陨落》中配预告 声优大佬云集、虎牢关战吕布超燃
学习笔记——Mybatis中缓存机制
播报:区块链特辑——solidity语言基础(五)
热文:Python实现希尔排序、快速排序、归并排序
苹果兔年新春大片《过五关》发布!iPhone 14 Pro拍摄国粹京剧
天天看点:Matplotlib学习笔记1 - 上手制作一些图表吧!
焦点消息!最远能跑1200km 长安智电iDD正式发布:一公里不到2毛钱
世界动态:3月发售 《生化危机4:重制版》中文配音首曝:艾达王登场
世界百事通!能怎样?爱奇艺回应没限制投屏只限制清晰度被喷无耻:律师称确没违法
要闻:uwsgi 快速入门
焦点速递!学习笔记——Mybatis动态SQL
《原神》开发商米哈游上热搜:间接持股企业超百家
一度因黑客攻击被迫停服:狼人杀游戏《鹅鸭杀》服务器重新上线
天天视点!魅族新专利:可根据坐姿判断是否疲劳驾驶
全球焦点!奔驰L3级自动驾驶获批:司机可看书、喝咖啡 事故奔驰负责
PS“迷你版”Paint.net推5.0正式更新:Win7/8.1系统被放弃
央视网络春晚官宣:王冰冰、董宇辉加盟
天天快资讯:N95口罩价格大跳水 单价跌破1块钱!专家:是否戴N95口罩看场合
来自后端的愤怒!
【全球新要闻】广东东莞的刮痧板在欧美爆火:有公司年出口量可达700万片
限制投屏清晰度后:爱奇艺TV版新功能允许远程为父母付款
世界热资讯!性能领先24核i9多达24% AMD锐龙7000 3D缓存版闹乌龙:情人节没戏
全球快资讯丨为什么手机的内存都到了16GB 电脑才普及8GB呢?
秦始皇兵马俑考古重大新发现!6000多件宝物、一号坑甬道被人挖开过
腾讯E证通实现人脸核验(.Net6)
天天短讯!排查+解决 Java 内存泄漏,最基本的方法,你必须学会!
环球热推荐:看这篇就够了丨基于Calcite框架的SQL语法扩展探索
今日讯!都想来分一杯羹,低代码到底服务谁?
04-Sed操作参数
看点:799元 ROG龙鳞ACE Aimlab鼠标上市:仅重54g
2030年前我国将送人上月球 新一代载人火箭三级发动机点火成功
天天快讯:《王者荣耀》兔年限定皮肤英雄公布:马克、瑶妹喜提新装
【报资讯】1300多种首次公开!中国空间站居然种了这么多“菜”
中国第一商贩:“傻子瓜子”创始人年广九逝世 享年84岁
全球速递!【Python爬虫实战项目】Python爬虫批量下载去哪儿网站旅游数据保存本地
世界热门:辛苦加班了一年,为何年终奖比同级同事少?
天天视点!Nginx 高级篇
天天热推荐:python中argparse模块的用法
【天天快播报】使用python自动发送图片给微信好友
焦点日报:美国上万架航班停飞!初步调查:因一个数据库文件损坏
环球观察:小米13 Pro用上安卓最高端屏幕 雷军:价格最贵
4000吨巨型“充电宝”广东下水:每天可发2.4万度电
每日信息:高德地图上线一键报平安功能 路程家人一看便知
天天最资讯丨2022年新生儿爆款名字出炉上热搜:男/女孩这些名字土爆了?
环球热文:【验证码逆向专栏】某验二代滑块验证码逆向分析
开源动物行为分析实验箱(斯金纳箱)特色解析及试用条款
环球信息:爱奇艺APP投屏加钱 上海消保委点名批评:不合理、不厚道
特斯拉降价效果显著!友商会不会跟进降价?
焦点消息!阿凡达2不适合国人?国产科幻大片《流浪地球2》迎战 还有《满江红》等一次看爽
12306出现故障无法查车次 客服回应:网络问题 建议多次刷新
环球焦点!羡慕吗?微软宣布给员工“无限休假”福利:不再固定天数
C#、TS和Dart对比4.1:类型概述
全球速递!虚拟串口及其在串口转以太网中的应用
别催了,别催了,这篇文章我一次性把Shell的内容说完
环球观点:AMD RDNA3显卡架构底层细节公开!606页 应有尽有
前沿资讯!微信隐藏功能无了!群空间助手小程序宣布3月下线:号称永久保存
世界滚动:腾讯优酷后!爱奇艺限制投屏 会员只能看480P:专家发声 用户只能接受
环球快看点丨SUV比亚迪卖爆!榜一大哥月销7万+、一代神车没落
《黑豹2》女主演利蒂西娅·赖特:续集已在计划中
头条:疑似零跑C11路边停车起火 车尾疯狂往外喷火
男子开豪车带马狗羊回家过年 它们都是自己的家人:画面让网友难受
公交司机边开车边抠脚引乘客担忧 官方回应:会研究处理
焦点短讯!这些是最热门的机器学习方法!
【播资讯】通过事件总线EventBus/AsyncEventBus进行JAVA模块解耦 (史上最全)
内存、SSD价格雪崩 韩国芯片双雄终于顶不住了?
又一日系品牌拥抱比亚迪 铃木EVX概念车首发:用上刀片电池
全球视点!美国最大私人地主 大量买地引质疑!比尔盖茨回应:只为提高产量
国产家轿又一“黑马”诞生 长安逸达首发亮相
原长城汽车总裁王凤英将出任小鹏CEO 接替何小鹏?内部回应
围棋哪个国家最强?围棋哪个颜色先下?
都挺好苏明成知道自己不是亲生的是第几集?都挺好的结局是什么?
魂来枫林青的下一句是什么?魂来枫林青是什么意思?
李宁标志刺绣是真的吗?李宁标志设计含义
美的净水器好不好?净水器哪个牌子质量好性价比高?
ios7输入法怎么设置成搜狗?ios7输入法打不出汉字怎么办?
怎么修改系统启动项?修改系统启动项的方法有哪些?
新资讯:MySQL间隙锁、行锁的读写阻塞实验
win8如何找到硬件驱动程序?win8怎么进入安全模式?
港利通手机怎么样?港利通手机怎么恢复出厂设置密码?