JavaScript 设计模式

面向对象

为什么使用面向对象
  1. 程序的执行是结构化的,顺序、判断、循环构成程序
  2. 面向对象让数据结构化
  3. 对于计算机,结构化才是最简单的,处理结构化的二进制数据流
  4. 进行抽象 && 简单
面向对象三要素:
  1. 继承 --- 子类继承父类
    可将公共方法抽离出来,提高复用,减少冗余

  2. 封装 --- 数据的权限和保密(TS)
    public: 完全开放
    protected: 对子类开放
    private: 对自己开放,仅类内部使用,外部访问编译会出错
    可用于属性方法定义

    a. 减少耦合,不该外露的不外露
    b. 利于数据、接口的权限管理
    c. ES6目前不支持,一般认为_开头的属性是private

  3. 多态 --- 同一接口不同实现(JS用的比较少)
    同一个接口,不同表现
    JS应用极少
    需要结合Java等语言的接口、重写、重载等
    a. 保持子类的开放性和灵活性
    b. 面向接口编程

UML 类图

Unified Modeling Language统一建模语言,其包含很多种图,其中类图与面向对象关联较强


类名.png

类图之间的关系有

  1. 泛化,表示继承
  2. 关联,表示引用

设计原则

  1. 按照哪一种思路或标准来实现功能
  2. 功能相同,可以有不同设计方案来实现
  3. 伴随着需求增加,设计的作用才能体现

《UNIX / LINUX 设计哲学》
设计准则:

  1. 小即是美
  2. 让每个程序只做好一件事
  3. 快速建立原型
  4. 舍弃高效率而取可移植性
  5. 采用纯文本来存储数据
  6. 充分利用软件的杠杆效应(软件复用)
  7. 使用shell脚本来提高杠杆效应和可移植性
  8. 避免强制性的用户界面
  9. 让每个程序都成为过滤器
    小准则
  10. 允许用户定制环境
  11. 尽量使操作系统内核小而轻量化
  12. 使用小写字母并尽量简写
  13. 沉默是金
  14. 各部分之和大于整体
  15. 寻求90%的解决方案

SOLID 五大设计原则
S: 单一职责原则
O: 开放封闭原则
L:李氏置换原则
I: 接口独立原则
D:依赖导致原则

你可能感兴趣的:(JavaScript 设计模式)