极客时间已完结课程限时免费阅读

49 | 桥接模式:如何实现支持不同类型和渠道的消息推送系统?

48 | 代理模式:代理在RPC、缓存、监控等场景中的应用

47 | 原型模式:如何最快速地clone一个HashMap散列表?

46 | 建造者模式:详解构造函数、set方法、建造者模式三种对象创建方式

45 | 工厂模式(下):如何设计实现一个Dependency Injection框架?

44 | 工厂模式(上):我为什么说没事不要随便用工厂模式创建对象?

43 | 单例模式(下):如何设计实现一个集群环境下的分布式单例模式?

42 | 单例模式(中):我为什么不推荐使用单例模式?又有何替代方案?

41 | 单例模式(上):为什么说支持懒加载的双重检测不比饿汉式更优?

40 | 运用学过的设计原则和思想完善之前讲的性能计数器项目(下)

39 | 运用学过的设计原则和思想完善之前讲的性能计数器项目(上)

38 | 总结回顾面向对象、设计原则、编程规范、重构技巧等知识点

37 | 实战二(下):重构ID生成器项目中各函数的异常处理代码

春节特别加餐 | 王争:如何学习《设计模式之美》专栏?

36 | 实战二(上):程序出错该返回啥?NULL、异常、错误码、空对象?

35 | 实战一(下):手把手带你将ID生成器代码从“能用”重构为“好用”

34 | 实战一(上):通过一段ID生成器代码,学习如何发现代码质量问题

33 | 理论五:让你最快速地改善代码质量的20条编程规范(下)

32 | 理论五:让你最快速地改善代码质量的20条编程规范(中)

31 | 理论五:让你最快速地改善代码质量的20条编程规范(上)