引言
最近一直在进行图书馆项目的开发,这也是我们自己合作开发的第一个B/S项目,我们都是从零开始,自己找原型、自己弄需求、自己开发。在一起探讨需求的时候从她们两个那接触到了很多新的知识,可以说是让我打开眼界,这些新的东西都是在研究中,如果有成果了一定会总结长博客和大家分享。现在来和大家分享一下用EA生成代码的过程中需要注意的问题和使用方法。
一、画图需要注意的问题
1、首先我们在使用EA画UML图的时候,必须修改默认语言,在EA中的默认语言是Java,如果我们不修改语言,则在
我们以后生成的代码中都是java.或者是我们需要一个类一个类来修改。
修改默认语言为c#: 工具——》选项——》代码工程——》代码工程默认语言
2、在我们在画实体的时候需要我们选择属性,这样在我们生成的代码中才会有属性方法,否则在生成的代码中只有我们定义的属性。
namespace Model { /// <summary> /// 图书类别 /// </summary> public class CategoryEntity { /// <summary> /// 图书类别号 /// </summary> private string categoryID; /// <summary> /// 图书的索书号 /// </summary> private string inexID; public CategoryEntity(){ } ~CategoryEntity(){ } public virtual void Dispose(){ } } }
如果我们选择了属性则生成如下代码:
namespace Model { /// <summary> /// 图书类别 /// </summary> public class CategoryEntity { /// <summary> /// 图书类别号 /// </summary> private string categoryID; /// <summary> /// 图书的索书号 /// </summary> private string inexID; public CategoryEntity(){ } ~CategoryEntity(){ } public virtual void Dispose(){ } <span style="color:#ff0000;"><strong> /// <summary> /// 图书类别号 /// </summary> public string CategoryID{ get{ return categoryID; } set{ categoryID = value; } } /// <summary> /// 图书的索书号 /// </summary> public string InexID{ get{ return inexID; } set{ inexID = value; } }</strong></span> }//end CategoryEntity }//end namespace Model
上面的红色部分就是我们选择属性和不选择属性的差别,具体操作如下:
选择了属性后我们的实体类图如下:
这样我们在生成的代码中实体层几乎不再需要我们动代码,给我们编程带来了很大的便利。
二、EA动态生成类头注释
我们现在都知道我们在VS中新建类的时候自动生成类头注释,但是在EA中生成的类头注释都是一些英文的东西,让我们看着非常的不爽,我们需要后期手动修改类头注释。
下面就和大家分享如何在EA中动态的生成类头注释,具体操作如下:设置——》代码生成模板——》修改File
将右边红框中的内容改成我们自己想要的模板就可以了,下面来看一下我们生成的效果:
<span style="color:#ff0000;"><strong>/******************************************************************* *作者:zhenghao *小组:图书管理系统项目开发小组 *类名:CategoryEntity.cs *创建日期: *修改日期 *说明: *版本号: ***********************************************************************/</strong></span> namespace Model { /// <summary> /// 图书类别 /// </summary> public class CategoryEntity { /// <summary> /// 图书类别号 /// </summary> private string categoryID; /// <summary> /// 图书的索书号 /// </summary> private string inexID; public CategoryEntity(){ } ~CategoryEntity(){ } public virtual void Dispose(){ } /// <summary> /// 图书类别号 /// </summary> public string CategoryID{ get{ return categoryID; } set{ categoryID = value; } } /// <summary> /// 图书的索书号 /// </summary> public string InexID{ get{ return inexID; } set{ inexID = value; } } }//end CategoryEntity }//end namespace Model
这样我们就可以在生成的代码框架中动态的添加了我们想要的类头注释模板了。
三、未解决问题
不知道各位读者发现没有,我们生成的代码中都没有那些默认的引用,我们在VS中添加一个类的时候在类头都有一些默认的引用,但是在EA中生成的代码确实没有的,不知哪位大神已经解决了这个问题,请留言指教。
四、小结
像EA这些辅助工具我们需要灵活的运用它们,这样在我们编码的时候能大大的提高效率,如果我们在使用的时候不
但没有给我们带来便利反而让我们感到有一些麻烦,那么这个时候我们应该停下来思考和查阅一些资料来重新认识这
些软件。这样我们才能最大程度的发挥这些软件的作用。