备忘录模式:对于大对象的备份和恢复,如何优化内存和时间的消耗?

70 | 备忘录模式:对于大对象的备份和恢复,如何优化内存和时间的消耗? 上两节课,我们学习了访问者模式。在23种设计模式中,访问者模式的原理和实现可以说是最难理解的了,特别是它的代码实现。其中,用SingleDispatch来模拟DoubleDispatch的实现思路尤其不好理解。不知道你有没有将它拿下呢?如果还没有弄得很清楚,那就要多看几遍、多自己动脑经琢磨一下。 ...

May 21, 2022 · 8 min

策略模式(上):如何避免冗长的if-else-switch分支判断代码?

60 | 策略模式(上):如何避免冗长的if-else/switch分支判断代码? 上两节课中,我们学习了模板模式。模板模式主要起到代码复用和扩展的作用。除此之外,我们还讲到了回调,它跟模板模式的作用类似,但使用起来更加灵活。它们之间的主要区别在于代码实现,模板模式基于继承来实现,回调基于组合来实现。 ...

May 21, 2022 · 10 min

策略模式(下):如何实现一个支持给不同大小文件排序的小程序?

61 | 策略模式(下):如何实现一个支持给不同大小文件排序的小程序? 上一节课,我们主要介绍了策略模式的原理和实现,以及如何利用策略模式来移除if-else或者switch-case分支判断逻辑。今天,我们结合“给文件排序”这样一个具体的例子,来详细讲一讲策略模式的设计意图和应用场景。 ...

May 21, 2022 · 15 min

程序员怎么才能让自己走得更高、更远?

大学就像一个笼子,跑得快的人拖着笼子跑,跑得慢的人被笼子拖着跑,他们之间最大的差距,顶多只有笼子的长度那么大。但等到一毕业,笼门一打开,跑得快的人很快就把跑得慢的远远甩在后面。有人不到30岁就升到了阿里P8,有人35岁了还为拿个P7Offer在拼命。 ...

May 21, 2022 · 10 min

从哪些维度评判代码质量的好坏?如何具备写出高质量代码的能力?

02 | 从哪些维度评判代码质量的好坏?如何具备写出高质量代码的能力? 在我的工作经历中,每当同事评论起项目代码质量的时候,听到的最多的评语就是:“代码写得很烂”或者“代码写得很好”。用“好”“烂”这样的字眼来描述,非常地笼统。当我具体问到底如何烂、如何好的时候,尽管大部分同事都能简单地罗列上几个点,但往往都不够全面、非常零碎,也切不中要害。 ...

May 21, 2022 · 17 min
总访问量 总访客数