
设计模式之美
章全蛋
这个作者很懒,什么都没留下…
展开
-
理论七:为何说要多用组合少用继承?如何决定该用组合还是继承?
王争《设计模式之美》学习笔记文章目录理论七:为何说要多用组合少用继承?如何决定该用组合还是继承?为什么不推荐使用继承?组合相比继承有哪些优势?如何判断该用组合还是继承?重点回顾为什么不推荐使用继承?组合相比继承有哪些优势?如何判断该用组合还是继承?理论七:为何说要多用组合少用继承?如何决定该用组合还是继承?在面向对象编程中,有一条非常经典的设计原则,那就是:组合优于继承,多用组合少用继承。为什么不推荐使用继承?组合相比继承有哪些优势?如何判断该用组合还是继承?今天,我们就围绕着这三个问题,来详细讲解一原创 2020-09-15 11:20:05 · 644 阅读 · 0 评论 -
理论六:为什么基于接口而非实现编程?有必要为每个类都定义接口吗?
王争《设计模式之美》学习笔记文章目录理论六:为什么基于接口而非实现编程?有必要为每个类都定义接口吗?如何解读原则中的“接口”二字?如何将这条原则应用到实战中?是否需要为每个类定义接口?重点回顾理论六:为什么基于接口而非实现编程?有必要为每个类都定义接口吗?今天,我们继续讲一个跟“接口”相关的知识点:基于接口而非实现编程。这个原则非常重要,是一种非常有效的提高代码质量的手段,在平时的开发中特别经常被用到。为了让你理解透彻,并真正掌握这条原则如何应用,今天,我会结合一个有关图片存储的实战案例来讲解。除此原创 2020-09-14 20:23:13 · 299 阅读 · 0 评论 -
理论五:接口vs抽象类的区别?如何用普通的类模拟抽象类和接口?
王争《设计模式之美》学习笔记文章目录理论五:接口vs抽象类的区别?如何用普通的类模拟抽象类和接口?什么是抽象类和接口?区别在哪里?首先,我们来看一下,在 Java 这种编程语言中,我们是如何定义抽象类的。刚刚我们讲了如何定义抽象类,现在我们再来看一下,在 Java 这种编程语言中,我们如何定义接口。抽象类和接口的区别抽象类和接口能解决什么编程问题?首先,我们来看一下,我们为什么需要抽象类?它能够解决什么编程问题?其次,我们再来看一下,我们为什么需要接口?它能够解决什么编程问题?如何模拟抽象类和接口两个语法原创 2020-09-11 16:35:09 · 198 阅读 · 0 评论 -
理论四:哪些代码设计看似是面向对象,实际是面向过程的?
王争《设计模式之美》学习笔记文章目录理论四:哪些代码设计看似是面向对象,实际是面向过程的?哪些代码设计看似是面向对象,实际是面向过程的?1. 滥用 getter、setter 方法2. 滥用全局变量和全局方法3. 定义数据和方法分离的类在面向对象编程中,为什么容易写出面向过程风格的代码?面向过程编程及面向过程编程语言就真的无用武之地了吗?重点回顾1. 滥用 getter、setter 方法2. Constants 类、Utils 类的设计问题3. 基于贫血模型的开发模式理论四:哪些代码设计看似是面向对象原创 2020-09-09 16:18:38 · 778 阅读 · 0 评论 -
理论三:面向对象相比面向过程有哪些优势?面向过程真的过时了吗?
王争《设计模式之美》学习笔记文章目录理论三:面向对象相比面向过程有哪些优势?面向过程真的过时了吗?什么是面向过程编程与面向过程编程语言?面向对象编程相比面向过程编程有哪些优势?1.OOP 更加能够应对大规模复杂程序的开发2.OOP 风格的代码更易复用、易扩展、易维护3.OOP 语言更加人性化、更加高级、更加智能重点回顾1. 什么是面向过程编程?什么是面向过程编程语言?2. 面向对象编程相比面向过程编程有哪些优势?理论三:面向对象相比面向过程有哪些优势?面向过程真的过时了吗?实际上,除了面向对象之外,被原创 2020-09-05 15:59:28 · 2281 阅读 · 0 评论 -
理论二:封装、抽象、继承、多态分别可以解决哪些编程问题?
王争《设计模式之美》学习笔记文章目录理论二:封装、抽象、继承、多态分别可以解决哪些编程问题?封装(Encapsulation)抽象(Abstraction)继承(Inheritance)多态重点回顾关于封装特性关于抽象特性关于继承特性关于多态特性理论二:封装、抽象、继承、多态分别可以解决哪些编程问题?封装(Encapsulation)首先,我们来看封装特性。封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问 接口,授权外部仅能通过类提供的方式(或者叫函数)来访问内部信息或者数据。这句话怎 么理原创 2020-09-04 18:07:10 · 670 阅读 · 0 评论 -
理论一:当谈论面向对象的时候,我们到底在谈论什么?
王争《设计模式之美》学习笔记文章目录理论一:当谈论面向对象的时候,我们到底在谈论什么?什么是面向对象编程和面向对象编程语言?如何判定某编程语言是否是面向对象编程语言?什么是面向对象分析和面向对象设计?什么是 UML?我们是否需要 UML?重点回顾理论一:当谈论面向对象的时候,我们到底在谈论什么?考虑到各个水平层次的同学,并且保证专栏内容的系统性、全面性,我会循序渐进地讲解跟设计模式相关的所有内容。所以,专栏正文的第一个模块,我会讲一些设计原则、设计思想,比如,面向对象设计思想、经典设计原则以及重构相关原创 2020-09-04 17:12:18 · 290 阅读 · 0 评论 -
面向对象、设计原则、设计模式、编程规范、重构,这五者有何关系?
面向对象现在,主流的编程范式或者是编程风格有三种,它们分别是面向过程、面向对象和函数式编 程。面向对象这种编程风格又是这其中最主流的。现在比较流行的编程语言大部分都是面向 对象编程语言。大部分项目也都是基于面向对象编程风格开发的。面向对象编程因为其具有 丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原 则、设计模式编码实现的基础。对于这部分内容,你需要掌握下面这 7 个大的知识点:面向对象的四大特性:封装、抽象、继承、多态面向对象编程与面向过程编程的区别和联系原创 2020-09-04 16:53:45 · 514 阅读 · 0 评论