最近工作期间发现了一个非常棒的UML软件【Enterprise Architect UML 建模工具】简称EA,在该软件上绘制框架层面的类之间关系后,可以自动生成相关语言的代码。
EA上目前支持的语言有

 
下面我们将演示,如何生成多层次的python代码框架,EA软件默认的代码是Java,我们需要定制成python,而这个定制在项目内有效,即是对项目属性进行定制。

 
这里我们建立一个python_hello的项目。顺序是:新建项目=====> 新建增图=====>添加图A=====>添加包=====>添加图B
图A指的是该项目中主文件,图B指的是该项目中包里的文件。
 
把本项目的代码类型按上述步骤改成python语言。
 
本项目中创建3个类,如下图

 

 

 
直接建立的关系都是在包内有效,无法夸包执行,若要实现不同包之间的关系需要借助关系矩阵

打开后如下图

选择好起始段和目标端,这两个可以选择是一样的包,类型里面选择类,链接类型有很多,可以根据需要选择,方向有3个,
Source    ===》Target,单向
Source《===    Target,单向
Source《===》Target,双向
这之间建立的关系就是选择的链接类型,设置好关系后,就可以生成代码了

对该项目配置如下

设置好后,【全选】===》【运行】即可生成框架代码结构如下:
 

生成的代码内容如下

不可否认,这里面少了代码应有的灵性,但是对于整体框架而言,这是不可多得的,值得大家好好研究并使用。
 

使用EA生成多层次的代码框架的更多相关文章

  1. 用EA生成实体层代码

    在个人版机房重构中.实体层的代码敲得有点儿烦了.不同的实体仅仅是命名不同.代码结构全然一样.遇到反复的事情,就该动动脑.想想办法了. 以下给大家介绍使用EA生成实体层的代码. 首先.建一个类,注意选择 ...

  2. CSharpGL(12)用T4模板生成CSSL及其renderer代码

    CSharpGL(12)用T4模板生成CSSL及其renderer代码 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立 ...

  3. OpenDaylight开发hello-world项目之代码框架搭建

    OpenDaylight开发hello-world项目之开发环境搭建 OpenDaylight开发hello-world项目之开发工具安装 OpenDaylight开发hello-world项目之代码 ...

  4. x01.CodeBuilder: 生成代码框架

    根据 Assembly 生成代码框架. 这是学习 AvalonEdit 的一个副产品.学习时,照着源代码新建文件夹,新建文件,添加方法与属性,虽然只是个框架,也要花费大量时间.为什么不让它自动生成呢? ...

  5. Onvif开发之代码框架生成篇

    看了前一篇的ONVIF的简单介绍应该对它的基本使用都有了一些基本的了解了吧!下面我讲一步分解向大家介绍下如何通过gsoap生成需要的代码,以及代码中需要注意的问题[基于Linux平台 C开发] 生成O ...

  6. 【Idea插件】kotlin的orm框架一键生成代码框架

    @font-face { font-family: octicons-link; src: url("data:font/woff;charset=utf-8;base64,d09GRgAB ...

  7. DSO 代码框架

    从数据流的角度讲一遍 DSO 代码框架. DSO 的入口是 FullSystem::addActiveFrame,输入的影像生成 FrameHessian 和 FrameShell 的 Object, ...

  8. 深入浅出etcd系列Part 1 – etcd架构和代码框架

    1.绪论 etcd作为华为云PaaS的核心部件,实现了PaaS大多数组件的数据持久化.集群选举.状态同步等功能.如此重要的一个部件,我们只有深入地理解其架构设计和内部工作机制,才能更好地学习华为云Ku ...

  9. Spring Boot下的一种导出CSV文件的代码框架

    1.前言 ​ CSV,逗号分隔值(Comma-Separated Values),即为逗号分隔的文本文件.如果值中含有逗号.换行符.制表符(Tab).单引号及双引号,则需要用双引号括起来:如果值中包含 ...

随机推荐

  1. [BZOJ3817]Sum

    [BZOJ3817]Sum 试题描述 给定正整数N,R.求 输入 第一行一个数 T,表示有 T 组测试数据. 接下来 T 行,每行两个正整数 n,r. 输出 输出 T 行,每行一个整数表示答案. 输入 ...

  2. Redis 复制功能的几个重要方面

    Redis 复制功能的几个重要方面:1. 一个Master可以有多个Slave:2. Redis使用异步复制.从2.8开始,Slave会周期性(每秒一次)发起一个Ack确认复制流(replicatio ...

  3. Milk Patterns(poj 3261)

    题意:找出出现k次的可重叠的最长子串的长度. /* 求出height数组,二分答案,将height分组,看有没有一组个数大于K. WA了很多遍,最后看别人的题解,发现往字符串后面填了一个0,就可以AC ...

  4. luogu 1327 数列排序 & 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 J题 循环节

    luogu 1327 数列排序 题意 给定一个数列\(\{an\}\),这个数列满足\(ai≠aj(i≠j)\),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换? ...

  5. ASP 500错误解决方法

    最有效的解决方法: 经  c:\windows\temp 目录增加everyone写权限. 环境: windows2008

  6. 牛客网 Wannafly挑战赛11 A.白兔的分身术

    水一水博客. 链接:https://www.nowcoder.com/acm/contest/73/A来源:牛客网 A.白兔的分身术     时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C ...

  7. http错误种类及原因

    http://blog.csdn.net/dxykevin/article/details/50950878 [摘要]HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应 ...

  8. electron入门教程

    1.atom/electron github: https://github.com/atom/electron 中文文档: https://github.com/atom/electron/tree ...

  9. Eclipse安装Spring工具套件

    前言: 安装spring工具套件是为了更快捷的使用spring,但是我觉得既然已经有了maven,工具套件其实不那么重要. 而且装好后我发觉没什么两样,只是新建bean文件时比较爽一点. 安装步骤: ...

  10. eclipse项目java版本更改

    然后.右键点击项目->properties->Java Compiler->....如图 ​ 最后,右键点击项目->properties->Project  Facets ...