1. 1 不可撤销
  2. 2 小年兽 程嘉敏
  3. 3 手放开 李圣杰
  4. 4 迷人的危险3(翻自 dance flow) FAFA
  5. 5 山楂树之恋 程佳佳
  6. 6 summertime cinnamons / evening cinema
  7. 7 不谓侠(Cover 萧忆情Alex) CRITTY
  8. 8 神武醉相思(翻自 优我女团) 双笙
  9. 9 空山新雨后 音阙诗听 / 锦零
  10. 10 Wonderful U (Demo Version) AGA
  11. 11 广寒宫 丸子呦
  12. 12 陪我看日出 回音哥
  13. 13 春夏秋冬的你 王宇良
  14. 14 世界が终わるまでは… WANDS
  15. 15 多想在平庸的生活拥抱你 隔壁老樊
  16. 16 千禧 徐秉龙
  17. 17 我的一个道姑朋友 双笙
  18. 18 大鱼  (Cover 周深) 双笙
  19. 19 霜雪千年(Cover 洛天依 / 乐正绫) 双笙 / 封茗囧菌
  20. 20 云烟成雨(翻自 房东的猫) 周玥
  21. 21 情深深雨濛濛 杨胖雨
  22. 22 Five Hundred Miles Justin Timberlake / Carey Mulligan / Stark Sands
  23. 23 斑马斑马 房东的猫
  24. 24 See You Again Wiz Khalifa / Charlie Puth
  25. 25 Faded Alan Walker / Iselin Solheim
  26. 26 Natural J.Fla
  27. 27 New Soul Vox Angeli
  28. 28 ハレハレヤ(朗朗晴天)(翻自 v flower) 猫瑾
  29. 29 像鱼 王贰浪
  30. 30 Bye Bye Bye Lovestoned
  31. 31 Blame You 眠 / Lopu$
  32. 32 Believer J.Fla
  33. 33 书信 戴羽彤
  34. 34 柴 鱼 の c a l l i n g【已售】 幸子小姐拜托了
  35. 35 夜空中最亮的星(翻自 逃跑计划) 戴羽彤
  36. 36 慢慢喜欢你 LIve版(翻自 莫文蔚) 戴羽彤
  37. 37 病变(翻自 cubi) 戴羽彤
  38. 38 那女孩对我说 (完整版) Uu
  39. 39 绿色 陈雪凝
  40. 40 月牙湾 LIve版(翻自 F.I.R.) 戴羽彤
夜空中最亮的星(翻自 逃跑计划) - 戴羽彤
00:00 / 04:10

夜空中最亮的星 能否听清

那仰望的人 心底的孤独和叹息

夜空中最亮的星 能否记起

那曾与我同行 消失在风里的身影

我祈祷拥有一颗透明的心灵

和会流泪的眼睛

给我再去相信的勇气

越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请指引我靠近你

夜空中最亮的星 是否知道

那曾与我同行的身影 如今在哪里

夜空中最亮的星 是否在意

是等太阳先升起 还是意外先来临

我宁愿所有痛苦都留在心底

也不愿忘记你的眼睛

哦 给我再去相信的勇气

哦 越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请照亮我向前行 哒~

我祈祷拥有一颗透明的心灵

和会流泪的眼睛 哦

给我再去相信的勇气

哦 越过谎言去拥抱你

每当我找不到存在的意义

每当我迷失在黑夜里

噢喔喔 夜空中最亮的星

请照亮我向前行

常用设计模式简单剖析

前言

在上个月的推送内容中,我们先是简单剖析了spring boot的源码,然后在节前快放假的时候,我们简单剖析了Tomcat启动过程的源码,从这一些的源码剖析过程中,我发现虽然他们的源码我都可以看懂,流程可以可以梳理清楚,但是每次基本上都是在所有源码梳理清楚之后才能理清楚其中的执行流程以及作用,这就让我很被动,而且很浪费时间。

然后在看了一些大佬剖析源码的内容以后,我发现自己真正欠缺的是设计模式的相关知识,正是由于这些知识的欠缺才导致我在看源码的时候,效率如此低下。

这一点也很好理解,设计模式其实就类似于我们建房子的图纸,有了设计模式的加持,可以让我们看清源码的设计架构,甚至可以让我们推断出它的实现原理。所以,我决定暂时先放下Tomcat源码的剖析,待补充完设计模式相关知识点之后,我们再继续前行。

常用设计模式

不论是在java的源码实现中,还是在java的常用框架中(比如spring等),设计模式都被广泛的应用,但是由于它是更偏向设计层面的内容,所以我们在学习java的时候,会经常忽略它我们绝大多数人(包括我)对它都置若罔闻,在写代码的时候也根本不会想到他,以至于我们写出的代码扩展性和健壮性极差,而且效率低下。

为了能够纠正这种不好的习惯,提升我们的编码软实力,从今天起我们开始剖析java的常用设计模式,同时会在平时相关内容分享的时候,尽可能多踢他,以便让我们真正意识到它的存在,当然,同时也为了让我们写出更优秀的代码。

常用的设计模式有以下几种:

  • 单例模式:确保有且只有一个对象被创建
  • 工厂方法模式:由子类决定要创建的具体类是哪一个
  • 抽象工厂模式:允许客户创建对象的家族,而无需指定他们的具体类
  • 观察者模式:让对象能够在状态改变时被通知
  • 装饰者模式:包装一个对象,以提供新的行为
  • 策略模式:封装可以互换的行为,并使用委托来决定要使用哪一个
  • 命令模式:封装请求成为对象
  • 适配器模式:封装对象,并提供不不同的接口
  • 外观模式:简化一群类的接口
  • 模板方法模式:由子类决定如何实现一个算法中的步骤
  • 迭代器模式:在对象的集合之中游走,而不暴露集合的实现
  • 组合模式:客户用一致的方式处理对象集合和单个对象
  • 代理模式:包装对象,以控制对此对象的访问
  • 状态模式:封装了基于状态的行为,并使用委托在行为之间切换
  • 复合模式:多个设计模式组合使用

除了上面这些设计模式外,还有一些其他的设计模式:

  • 桥接
  • 生成器
  • 责任链
  • 蝇量
  • 解释器
  • 中介者
  • 备忘录
  • 原型
  • 访问者

总结

好了,关于设计模式的整体内容我们先说这么多,从明天开始我们逐一展开剖析这些设计模式,演示它们的具体应用场景。

各位小伙伴,十一假期过得可好?反正,我的整体体验很差,好好的七天小长假,下了整整一周雨,所以每天不是在下雨,就是在下雨的路上,出去玩了三天,出了出发的第一天,后面基本上天天下雨,又冷又累😑,我寻思啥时候大西北变成大江南了,竟如此的阴雨连绵……

posted @ 2021-10-15 22:01  云中志  阅读(41)  评论(0编辑  收藏  举报