首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
设计模式
TimeFine
创建于2022-05-06
订阅专栏
极客时间-设计模式之美学习笔记
等 2 人订阅
共16篇文章
创建于2022-05-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
设计模式:设计原则-迪米特法则
问题:什么是“高内聚、松耦合”? 问题:如何用迪米特法则(LOD)实现“高内聚、松耦合”? 问题:有哪些代码设计是明显违背迪米特法则的?对此又该如何重构? 一、何为“高内聚、松耦合”? “高内聚、松耦
设计模式:设计原则-DRY原则
问题: 重复的代码就一定违背DRY吗?如何提高代码的复用性? 它的英文描述为:Don’t Repeat Yourself。中文直译为:不要重复自己。将它应用在编程中,可以理解为:不要写重复的代码。 只
设计模式:设计原则-KISS,YAGNI原则
问题:为何说KISS、YAGNI原则看似简单,却经常被用错? 问题:怎么理解 KISS 原则中“简单”两个字?什么样的代码才算“简单”?怎样的代码才算“复杂”?如何才能写出“简单”的代码? 问题:YA
设计模式:设计原则-依赖反转原则
问题:控制反转、依赖反转、依赖注入,这三者有何区别和联系? 问题:依赖反转”这个概念指的是“谁跟谁”的“什么依赖”被反转了? 问题:“反转”两个字该如何理解? 问题:我们还经常听到另外两个概念:“控制
设计模式:设计原则-接口隔离原则
问题:接口隔离原则有哪三种应用?原则中的“接口”该如何理解? 一、如何理解“接口隔离原则”? 接口隔离原则的英文翻译是“ Interface Segregation Principle”,缩写为 IS
设计模式:设计原则-里式替换原则
问题:里式替换(LSP)跟多态有何区别?哪些代码违背了LSP? 一、如何理解“里式替换原则”? 里式替换原则的英文翻译是:Liskov Substitution Principle,缩写为 LSP。
设计模式:设计原则-开闭原则
问题:如何做到“对扩展开放、修改关闭”?扩展和修改各指什么? 开闭原则是 SOLID 中最难理解、最难掌握,同时也是最有用的一条原则。 之所以说这条原则难理解,那是因为,“怎样的代码改动才被定义为‘扩
设计模式:设计原则-单一职责原则
问题:对于单一职责原则,如何判定某个类的职责是否够“单一”? 一、如何理解单一职责原则(SRP)? 单一职责原则的英文是 Single Responsibility Principle,缩写为 SRP
设计模式:面向对象-理论实战部分
问题: 什么是贫血模型? 什么是充血模型? 为什么说基于贫血模型的传统开发模式违反 OOP? 基于贫血模型的传统开发模式既然违反 OOP,那又为什么如此流行? 什么情况下我们应该考虑使用基于充血模型的
设计模式:面向对象-基于接口而非实现编程
问题:为什么基于接口而非实现编程?有必要为每个类都定义接口吗? 一、如何解读原则中的“接口”二字? “基于接口而非实现编程”这条原则的英文描述是:“Program to an interface, n
设计模式:面向对象-接口和抽象类
问题:接口vs抽象类的区别?如何用普通的类模拟抽象类和接口? 问题:接口和抽象类的区别是什么?什么时候用接口?什么时候用抽象类?抽象类和接口存在的意义是什么?能解决哪些编程问题? 一、什么是抽象类和接
设计模式:面向对象-代码设计角度看面向对象和面向过程
问题:哪些代码设计看似是面向对象,实际是面向过程的? 一、代码设计角度看面向对象和面向过程 在用面向对象编程语言进行软件开发的时候,我们有时候会写出面向过程风格的代码。有些是有意为之,并无不妥;而有些
设计模式:面向对象-封装、抽象、继承、多态
问题:封装、抽象、继承、多态分别可以解决哪些编程问题? 一、封装 1、封装的概念和示例讲解 封装(Encapsulation)也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过
设计模式:面向对象-概念(二)
一、面向对象编程和面向对象编程语言 面向对象编程中有两个非常重要、非常基础的概念,那就是类(class)和对象(object)。 面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单
设计模式:面向对象-概述
一、面向对象 现在,主流的编程范式或者是编程风格有三种,它们分别是面向过程、面向对象和函数式编程。面向对象这种编程风格又是这其中最主流的。现在比较流行的编程语言大部分都是面向对象编程语言。大部分项目也
设计模式:面向对象-面向对象和面向过程
一、概述 除了面向对象之外,被大家熟知的编程范式还有另外两种,面向过程编程和函数式编程。面向过程这种编程范式随着面向对象的出现,已经慢慢退出了舞台,而函数式编程目前还没有被广泛接受。 很多人搞不清楚面