理论六:为什么基于接口而非实现编程?有必要为每个类都定义接口吗?

09 | 理论六:为什么基于接口而非实现编程?有必要为每个类都定义接口吗? 在上一节课中,我们讲了接口和抽象类,以及各种编程语言是如何支持、实现这两个语法概念的。今天,我们继续讲一个跟“接口”相关的知识点:基于接口而非实现编程。这个原则非常重要,是一种非常有效的提高代码质量的手段,在平时的开发中特别经常被用到。 ...

May 21, 2022 · 18 min

理论六:我为何说KISS、YAGNI原则看似简单,却经常被用错?

20 | 理论六:我为何说KISS、YAGNI原则看似简单,却经常被用错? 上几节课中,我们学习了经典的SOLID原则。今天,我们讲两个设计原则:KISS原则和YAGNI原则。其中,KISS原则比较经典,耳熟能详,但YAGNI你可能没怎么听过,不过它理解起来也不难。 ...

May 21, 2022 · 17 min

理论七:为何说要多用组合少用继承?如何决定该用组合还是继承?

10 | 理论七:为何说要多用组合少用继承?如何决定该用组合还是继承? 在面向对象编程中,有一条非常经典的设计原则,那就是:组合优于继承,多用组合少用继承。为什么不推荐使用继承?组合相比继承有哪些优势?如何判断该用组合还是继承?今天,我们就围绕着这三个问题,来详细讲解一下这条设计原则。 ...

May 21, 2022 · 16 min

理论七:重复的代码就一定违背DRY吗?如何提高代码的复用性?

21 | 理论七:重复的代码就一定违背DRY吗?如何提高代码的复用性? 在上一节课中,我们讲了KISS原则和YAGNI原则,KISS原则可以说是人尽皆知。今天,我们再学习一个你肯定听过的原则,那就是DRY原则。它的英文描述为:Don’tRepeatYourself。中文直译为:不要重复自己。将它应用在编程中,可以理解为:不要写重复的代码。 ...

May 21, 2022 · 20 min

理论三:里式替换(LSP)跟多态有何区别?哪些代码违背了LSP?

17 | 理论三:里式替换(LSP)跟多态有何区别?哪些代码违背了LSP? 在上两节课中,我们学习了SOLID原则中的单一职责原则和开闭原则,这两个原则都比较重要,想要灵活应用也比较难,需要你在实践中多加练习、多加体会。今天,我们再来学习SOLID中的“L”对应的原则:里式替换原则。 ...

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