UML(Unified Modeling Language) 统一建模语言 1. 泛化(Generalization) 继承类 -> 基类2. 实现(Realization) 继承类 -> 抽象类3. 关联(Association) 4. 聚合(Aggregation) (has a) teache ...
分类:
其他好文 时间:
2020-02-08 00:05:56
阅读次数:
67
状态模式 一个对象有状态变化 每次状态变化都会触发一个逻辑 不能总是用 if...else 来控制 示例:交通信号灯的不同颜色变化 传统的 UML 类图 javascript 中的 UML 类图 javascript class State { constructor(color) { this.c ...
分类:
编程语言 时间:
2020-01-29 15:49:08
阅读次数:
72
迭代器模式 顺序访问一个集合 使用者无需知道集合内部结构(封装) jQuery 示例 传统 UML 类图 javascript 中的 UML 类图 使用场景 jQuery each 上面的 jQuery 代码就是 ES6 Iterator ES6 Iterator 为何存在? es6 语法中,有序集 ...
分类:
编程语言 时间:
2020-01-29 14:06:55
阅读次数:
90
观察者模式 发布&订阅 一对多 示例:点好咖啡之后坐等被叫 传统 UML 类图 javascript 中的 UML 类图 应用场景 网页事件绑定 promise jQuery callback nodejs 自定义事件 nodejs 处理文件 其他应用场景 nodejs 中:处理 http 请求,多 ...
分类:
编程语言 时间:
2020-01-29 12:08:44
阅读次数:
109
外观模式 为子系统的一组接口提供了提个高层接口 使用者使用这个高层接口 示例:去医院看病,接待员区挂号,门诊,划价,取药 UML类图 场景 设计原则验证 + 不符合单一职责原则和开放封闭原则,因此谨慎使用,不可滥用 ...
分类:
编程语言 时间:
2020-01-29 10:31:51
阅读次数:
67
代理模式 使用者无权访问目标对象 中间加代理,通过代理授权和控制 传统 UML 类图 JavaScript 中的代理模式 应用场景 网页代理事件 jQuery \$.proxy es6 Proxy 明星和经纪人的关系 设计原则验证 代理类和目标类分离,隔离开目标类和使用者 符合开放封闭原则 代理模式 ...
分类:
编程语言 时间:
2020-01-29 00:57:15
阅读次数:
94
装饰器模式 为对象添加新功能 不改变其原有的结构和功能 传统 UML 类图 javascript 中的装饰器 装饰类 装饰器原理 装饰类 mixin 示例 装饰方法 one javascript function readonly(target, name, descriptor) { // des ...
分类:
编程语言 时间:
2020-01-28 22:52:31
阅读次数:
156
单例模式 系统中被唯一使用 一个类只有一个实例 传统的UML类图 + 单例模式需要用到java的特性(private) + es6中没有(typescript除外) + 只能用Java来写纯粹的UML类图上的单例模式 javascript中的单例模式 应用场景 jQuery 模拟登录框 设计原则验证 ...
分类:
编程语言 时间:
2020-01-28 19:31:13
阅读次数:
84
面向对象 why? 1.程序执行:顺序,判断,循环, 结构化 2.面向对象 数据结构化 3.面向计算机,结构化的才是最简单的 4.变成应该 简单&抽象 一个基本的类 javascript class People { constructor(name, age) { this.name = name ...
分类:
其他好文 时间:
2020-01-28 14:08:46
阅读次数:
97
UML 类图中的概念 类图关系:泛化(继承)、实现、聚合、组合、关联、依赖 类图的详解可在网上查询(推荐https://zhuanlan.zhihu.com/p/24576502) 它描述了在一个系统中的对象和他们的关系,能够让我们在正确编写代码以前对系统有一个全面的认识。一个单独的类图描述系统的一 ...
分类:
其他好文 时间:
2020-01-22 18:02:49
阅读次数:
183