.NET手撸绘制TypeScript类图——上篇

近年来随着交互界面的精细化, TypeScript越来越流行,前端的设计也越来复杂,而 类图正是用简单的箭头和方块,反映对象与对象之间关系/依赖的好方式。许多工具都能生成 C#类图,有些工具也能生成 TypeScript类图,如 tsuml,但存在一些局限性。

我们都是 .NET开发,为啥不干脆就用 .NET撸一个 TypeScript类图呢?

说干就干!为了搞到类图,一共分两步走:

  1. 解析 .ts文件,生成抽象语法树( AST),并转换为简单的 、 属性、 方法等对象

  2. 将这个对象绘制出来

本文将分上下两篇,上篇将介绍我移植的一个.NET Standard 2.0TypeScript解析库,下篇将介绍如何将AST转换为真正的图,并实现一些基本的交互。

.ts文件生成抽象语法树

正常来说编译原理挺难的,但好在有人赶在了我的前头

.NET手撸绘制TypeScript类图——上篇相关推荐

  1. typescript get方法_.NET手撸绘制TypeScript类图——上篇

    .NET手撸绘制TypeScript类图--上篇 近年来随着交互界面的精细化,TypeScript越来越流行,前端的设计也越来复杂,而类图正是用简单的箭头和方块,反映对象与对象之间关系/依赖的好方式. ...

  2. .NET手撸绘制TypeScript类图——下篇

    .NET手撸绘制TypeScript类图--下篇 在上篇的文章中,我们介绍了如何使用 .NET解析 TypeScript,这篇将介绍如何使用代码将类图渲染出来. 类型定义渲染 不出意外,我们继续使用  ...

  3. 呆呆带你手撸一个思维导图-基础篇

    希沃ENOW大前端 公司官网:CVTE(广州视源股份) 团队:CVTE旗下未来教育希沃软件平台中心enow团队 「本文作者:」 前言 你盼世界,我盼望你无bug.Hello 大家好,我是霖呆呆! 哈哈 ...

  4. 快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图

    快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图 前言 一.UML类图简介 二.类之间的六大关系及UML类图 1.依赖关系及UML类图表示 2.泛化关系及UML类图表示 3.实现关系及UM ...

  5. Python自动绘制UML类图、函数调用图(Call Graph)

    文章目录 1. 引言 2. 绘制UML类图 2.1 安装graphviz 2.2 安装pyreverse 2.3 绘制UML类图 3. 绘制函数调用图 3.1 安装graphviz 3.2 安装pyc ...

  6. android 继承类图,Android Studio中绘制UML类图介绍

    Android Studio中绘制UML类图介绍 Android Studio中绘制UML类图介绍 动机 最近开始阅读项目源码,从其中一个模块开始看,奈何大项目中的一个模块,对于萌新而言,也太过于复杂 ...

  7. VSCode绘制UML类图

    目录 1. 简介 1.1 PlantUML 1.2 安装PlantUML 1.3 支持的文件格式 2. 绘制UML类图 类之间的关系​​​​ 关系上的标签​​​​ 添加方法​​​​ 定义可访问性 3. ...

  8. 安卓手机绘制uml图_Android Studio中绘制simpleUML类图详细说明及使用

    一.Android Studio中安装simpleUML 1.下载simpleUML jar包 2. 添加simpleUMLCEjar包 File--->Settings--->Plugi ...

  9. EA使用小技巧-定制类图的显示方式

    在使用EA(Enterprise Architect)绘制UML类图时,由于表现侧重点的不同,即使是同一个类也可能会希望以不同的方式表现出来.例如在表现类层次结构的时候可能只希望表示类名,在说明细节时 ...

最新文章

  1. 2021入门推荐系统,应该从哪入手?
  2. 数字图像处理:基于MATLAB的车牌识别项目
  3. win7删除控制面板中的JAVA”
  4. 设计模式--程序猿必备面向对象设计原则
  5. js isinteger_在JavaScript中使用示例使用Number isInteger()方法
  6. byte是什么数据类型_PLC基本数据类型的解读(避免在使用中的误解)
  7. idea新建maven项目没有src目录的操作方法
  8. nginx+php-fpm配置后页面显示空白的解决方法以及用nginx和php-fpm解决“502 Bad Gateway”问题...
  9. miniconda安装BWA 以及miniconda的环境配置
  10. TOGAF 架构内容框架
  11. Python正则表达式(附语法详解)
  12. windowsXP sp2 to sp3 的升级包
  13. 微服务网关Gateway基本知识(一)
  14. IDC:微软Windows将于2007年失去统治地位
  15. php前台限制输入text字符,限制字符输入数功能(jquery版和原生JS版)
  16. 2021年中国柠檬茶行业发展概况及行业发展趋势分析[图]
  17. 【经验分享】Typora如何添加数学公式
  18. 具有一定文化修养的中产阶层占据主力的消费
  19. python中的赋值
  20. 使用live555 直播来自v4l2的摄像头数据

热门文章

  1. java中和char功能相反的是_JAVA基础语法
  2. java 中的chartdata_获取Helm Charts中的文件夹列表
  3. 神经网络- receptive field
  4. WebApi的调用-3.Basic验证
  5. window 效率神器:Wox
  6. 《编写高质量代码:改善c程序代码的125个建议》——建议14-2:在右移中合理地选择0或符号位来填充空出的位...
  7. java的linux执行的shell
  8. [转]Excel导入异常Cannot get a text value from a numeric cell解决
  9. MIT Scheme 使用 Edwin
  10. [IOS地图开发系类]2、位置解码CLGeocoder