开源实战一(下):通过剖析JavaJDK源码学习灵活应用设计模式
77 | 开源实战一(下):通过剖析Java JDK源码学习灵活应用设计模式 上一节课,我们讲解了工厂模式、建造者模式、装饰器模式、适配器模式在JavaJDK中的应用,其中,Calendar类用到了工厂模式和建造者模式,Collections类用到了装饰器模式、适配器模式。学习的重点是让你了解,在真实的项目中模式的实现和应用更加灵活、多变,会根据具体的场景做实现或者设计上的调整。 ...
77 | 开源实战一(下):通过剖析Java JDK源码学习灵活应用设计模式 上一节课,我们讲解了工厂模式、建造者模式、装饰器模式、适配器模式在JavaJDK中的应用,其中,Calendar类用到了工厂模式和建造者模式,Collections类用到了装饰器模式、适配器模式。学习的重点是让你了解,在真实的项目中模式的实现和应用更加灵活、多变,会根据具体的场景做实现或者设计上的调整。 ...
22 | 理论八:如何用迪米特法则(LOD)实现“高内聚、松耦合”? 今天,我们讲最后一个设计原则:迪米特法则。尽管它不像SOLID、KISS、DRY原则那样,人尽皆知,但它却非常实用。利用这个原则,能够帮我们实现代码的“高内聚、松耦合”。今天,我们就围绕下面几个问题,并结合两个代码实战案例,来深入地学习这个法则。 ...
05 | 理论二:封装、抽象、继承、多态分别可以解决哪些编程问题? 上一节课,我简单介绍了面向对象的一些基本概念和知识点,比如,什么是面向对象编程,什么是面向对象编程语言等等。其中,我们还提到,理解面向对象编程及面向对象编程语言的关键就是理解其四大特性:封装、抽象、继承、多态。不过,对于这四大特性,光知道它们的定义是不够的,我们还要知道每个特性存在的意义和目的,以及它们能解决哪些编程问题。所以,今天我就花一节课的时间,针对每种特性,结合实际的代码,带你将这些问题搞清楚。 ...
16 | 理论二:如何做到“对扩展开放、修改关闭”?扩展和修改各指什么? 在上一节课中,我们学习了单一职责原则。今天,我们来学习SOLID中的第二个原则:开闭原则。我个人觉得,开闭原则是SOLID中最难理解、最难掌握,同时也是最有用的一条原则。 ...
28 | 理论二:为了保证重构不出错,有哪些非常能落地的技术手段? 上一节课中,我们对“为什么要重构、到底重构什么、什么时候重构、该如何重构”,做了概括性介绍,强调了重构的重要性,希望你建立持续重构意识,将重构作为开发的一部分来执行。 ...