4 posts tagged with "基础概念"

View All Tags

前端常用设计模式

LiLiucan

LiLiucan

Web Developer

单例模式#

  • esmodoule 实现单例
  • 传统面向对象单例实现:懒汉模式和饿汉模式

观察者模式#

适配器(包装器)模式#

处理不同接口的兼容问题

  • 引用第三方接口的时候可以包装一层

装饰器模式#

  • React 高阶组件
  • Redux connect 方法
  • JS Decorator 语法
  • React 本身可以理解为一个 IOC 容器

控制反转

LiLiucan

LiLiucan

Web Developer

对于控制反转的理解,主要在于“反转”。 反转的是什么?是依赖。也就是管理依赖的方式不同。 一般管理依赖可以通过手动的方式。 控制被反转之后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入。 经典案例就是Spring。

其实React也用到了IOC。

  • 不使用IOC大概应该这么写:

// 🔴 React 并不知道 Layout 和 Article 的存在。

// 因为你在调用它们。

ReactDOM.render(
Layout({ children: Article() }),
domContainer
)
  • 使用IOC,也就是React最终选择的方式:

// ✅ React知道 Layout 和 Article 的存在。

// React 来调用它们。

ReactDOM.render(
<Layout><Article /></Layout>,
domContainer
)

库、运行时和开发框架的区别

LiLiucan

LiLiucan

Web Developer

库(library)、运行时(runtime)和开发框架(framework)的区别#

库只是对外提供特定功能的接口 运行时负责解释上层的指令 开发框架应该运行与运行时之上,并对对于开发模式有一定的约束

分类示例#

  • #

    jQuery、lodash

  • 运行时#

    React

  • 框架#

    Gatsby、next.js

心智模型

LiLiucan

LiLiucan

Web Developer

“心智模式”是一种思维定式,我们这里所说的思维定式并非是一个贬义词,而是指我们认识事物的方法和习惯。