工程师的设计能力

  • 3 年工作经验, 面试设计能力
  • 成为项目技术负责人, 设计能力是必要基础
  • 从写好代码, 到做好设计, 设计模式是必经之路

前端学习设计模式的困惑

  • 网上的资料主要都是针对 Java等后端语言的, 但现在 Nodejs也可以作为后端语言
  • 看懂概念, 但是不知道怎么用, 看完就忘, 一边看一边忘
  • 现在的 JS 框架都是用了哪些设计模式

    知识点

面向对象

面向对象程序设计(Object Oriented Programming OOP)是一种计算机编程架构, 以对象为核心, 类: 是对现实世界的抽象, 包括表示静态属性的数据和对数据的操作, 对于 JS中就是内部的属性 和操作方法, 对象是类的实例化

  1. /** 定义一个 人 的类 */
  2. class People {
  3. constructor(name, age) {
  4. this.name = name;
  5. this.age = age;
  6. }
  7. /** 操作数据的方法 */
  8. eat() {
  9. console.log(`${this.name} eat sth`);
  10. }
  11. }

通过以上的代码可以简单的理解 类其实是针对一类对象的抽象化展示, 也可以理解为一种模型, 而对象是通过类创建出来的真实表示

  • ES6 class 语法
  • 三要素: 继承 封装 多态
  • UML 类图
    继承

封装

多态

设计原则

  • 开闭原则
  • 里氏转换原则

    设计模式

综合示例

总结

  • 回答目前一些流行框架中使用到的哪些设计模式