learn-design-patterns
v1.0.0
Published
this is design patterns
Downloads
15
Readme
介绍
你好,我是燕云长风。
寓意:结合李白著名的边塞诗《关山月》取【燕云长风】—— 长风几万里,吹度玉门关。
设计模式
- 类图
- 时序图/活动(流程)图
- 面向对象-抽象 | 面向对象-封装 | 面向对象-继承 | 面向对象-多态
- 设计原则 | 开闭原则-原始 | 开闭原则-案例 1 | 开闭原则-案例 2 | 单一职责原则 | 里氏替换原则-案例 1 | 里氏替换原则-案例 2 | 设计原则-依赖倒置原则案例 1 | 设计原则-依赖倒置原则案例 2 | 设计原则-接口隔离原则 | 迪米特法则 | 合成复用原则
- 工厂模式 | 简单工厂 | Jquery 简单工厂 | 工厂方法 | 抽象工厂模式
- 单例模式 | es5 实现单例 | 透明单例 | 单例与构建过程分离 | 单例封装变化
- 适配器模式 | 适配器例子 axios | 适配器例子 toAxiosAdaptor | 适配器例子 treeFlattenAdaptor | 适配器例子 arrToTreeAdaptor
- 装饰器模式 | 装饰类 | 装饰函数
- 代理模式 | 事件委托代理 | 虚拟代理图片预加载 | 虚拟代理图片懒加载 | 缓存代理 | 防抖节流代理 | 正向/反向/跨域/代理 | 跨域代理服务端
- 观察者模式 | EventEmitter | promise | callbacks | fs.createReadStream | http.createServer | 发布订阅模式
- 门面模式 | computer | overload | zip | buffer | createElement | createStore
- 迭代器模式 | 迭代器场景 forEach | ES6 Iterator | yield* | 二叉树遍历
系列项目
| 名称 | 描述 | | --- | --- | | NiceFish(美人鱼) | 这是一个系列项目,目标是示范前后端分离的开发模式:前端浏览器、移动端、Electron 环境中的各种开发模式。后端有两个版本:SpringBoot 版本和 SpringCloud 版本,http://git.oschina.net/mumu-osc/NiceFish/ | | NiceFish-React | 这是 React 版本,基于 React 18.2.0 ,使用 Antd、Inversify、 定制版 Bootstrap 开发。 https://gitee.com/mumu-osc/NiceFish-React | | nicefish-ionic | 这是一个移动端的 demo,基于 ionic,此项目已支持 PWA。http://git.oschina.net/mumu-osc/nicefish-ionic | | NiceBlogElectron | 这是一个基于 Electron 的桌面端项目,把 NiceFish 用 Electron 打包成了一个桌面端运行的程序。这是由 ZTE 中兴通讯的前端道友提供的,我 fork 了一个,有几个 node 模块的版本号老要改,如果您正在研究如何利用 Electron 开发桌面端应用,请参考这个项目,https://github.com/damoqiongqiu/NiceBlogElectron | | OpenWMS | 用来示范管理后台型系统的最佳实践,https://gitee.com/mumu-osc/OpenWMS-Frontend | | nicefish-springboot | 用来示范前后端分离模式下,前端代码与后端服务的对接方式,已经完成了基线版本,并且在腾讯云上面做了实际的部署。代码仓库在这里: https://gitee.com/mumu-osc/nicefish-spring-boot ,腾讯云上的演示地址在这里: http://118.25.136.164 ,以此为基础,你可以继续开发出适合自己业务场景的代码。 | | nicefish-springcloud | 用来示范前后端分离模式下,前端代码与分布式后端服务的对接方式,即将完成,代码最近放出。 |
单元测试
pnpm test
端到端测试
pnpm run cypress:open
pnpm run cypress:run
打包分析
pnpm run build-analyzer
社交主页
开源许可证
MIT