CN112416305A - 一种基于VisualStudio的快速开发方法 - Google Patents
一种基于VisualStudio的快速开发方法 Download PDFInfo
- Publication number
- CN112416305A CN112416305A CN202011317860.XA CN202011317860A CN112416305A CN 112416305 A CN112416305 A CN 112416305A CN 202011317860 A CN202011317860 A CN 202011317860A CN 112416305 A CN112416305 A CN 112416305A
- Authority
- CN
- China
- Prior art keywords
- service
- project
- template
- visual studio
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Abstract
一种基于VisualStudio的快速开发方法,创建并安装VisualStudio项目插件模板,新建项目时选择项目模板,根据设置的应用程序属性生成整体解决方案和Model、DAO、Service项目,并基于模板文件自动生成各层的标准代码;本发明使用日趋流行和稳定的微软.NET架构和VisualStudio开发工具,基于VisualStudio项目模板技术,只使用VisualStudio一种开发工具就可以自动创建开发框架和Model、DAO、Service各层代码,降低了学习门槛和开发成本,大幅提升了开发效率,能够快速响应客户需求;同时,实现了项目开发的标准化,对程序代码进行了快速标准化生成,增加了项目代码的统一性,便于后期维护和升级。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种基于VisualStudio的快速开发方法。
背景技术
随着计算机网络技术的发展,Web系统已经在企业中广泛应用。在传统的软件设计开发模式下,系统前端展示和后台业务逻辑耦合度过高,已经无法快速响应客户的需求变化。于是人们开始关注如何采用前后端分离,前端只负责数据展示,后台开发人员根据关系数据库结构编写数据访问代码。MVC(Model-View-Controller)三层架构开发模式由此诞生,Model层维护数据库对象实体,View层负责页面显示,Controller层实现业务逻辑处理。但是这种模式下会导致大量的业务代码集中在控制器Controller层,并且大多数底层代码功能类似,业务代码编写和调试工作量巨大,项目开发效率较低,且不便于项目管理和后期代码维护升级。
发明内容
为了克服上述现有技术的缺陷,本发明的目的在于提供一种基于VisualStudio的快速开发方法,基于微软.NET架构、VisualStudio开发工具以及VisualStudio项目模板技术,通过项目创建向导,根据关系数据库自动生成标准的数据模型代码、数据库访问代码、数据服务接口代码,形成完整的NET项目解决方案,提高开发效率和程序可靠性。
为达到上述目的,本发明采用的技术方案是:
一种基于VisualStudio的快速开发方法,创建并安装VisualStudio项目插件模板,新建项目时选择项目模板,根据设置的应用程序属性生成整体解决方案和Model、DAO、Service项目,并基于模板文件自动生成各层的标准代码;具体包括以下步骤:
步骤1:创建VisualStudio项目模板插件,项目模板中包含:Model、DAO、Service三个项目,每个项目中均包含一个模板文件(*.tt),模板文件(*.tt)自动生成各层标准的业务逻辑代码;
步骤2:开发人员在VisualStudio开发工作中安装项目模板插件;
步骤3:基于项目模板创建新项目,创建新项目时选择已安装的模板;
步骤4:进行应用程序名称、项目保存路径、关系数据库配置信息和项目信息属性设置,其中关系数据库配置信息包括服务器、数据库、用户名和密码;项目信息包括实体容器名称、命名空间名称;VisualStudio根据配置的项目信息自动生成解决方案和Model、DAO、Service三个项目;
步骤5:在Model项目中,根据模板文件生成业务实体类;选择DAO项目的实体数据模型文件Main.edmx;在实体数据模型设计器空白处单击鼠标右键,在菜单中选择“从数据库更新模型”,根据选择添加的表、视图自动生成业务实体类,业务实体类包含数据库表及视图中各个字段的属性;
步骤6:在DAO项目中,根据模板文件生成数据访问类;选择DAO项目中的数据访问模板文件“Repository.tt”,在右键菜单中选择“运行自定义工具”命令,自动根据业务实体类生成对应的数据访问层代码;数据访问层代码包含:Add、Update、Delete、Get、GetAll、GetByID、GetPage、GetByFilter基本数据库操作方法,这些方法能够满足对一个数据库表或者试图的常规操作;数据访问类同时支持SqlServer、MySql、Oracle等多种关系数据库,切换任何一种关系库不用更换程序代码,只需要更换数据库连接,数据访问底层基类会根据不同数据库自动进行适配,真正实现各种数据库连接的快速切换,数据访问基类也提供了针对实时数据库等其它数据源的访问接口,方便在业务逻辑的开发过程中对实时库等其它数据源的操作,提高业务开发效率;
步骤7:在Service项目中,根据模板文件生成数据服务类;选择Service项目中的数据访问模板文件“Service.tt”,在右键菜单中选择“运行自定义工具”命令,自动根据业务实体类生成对应的数据服务层代码,数据服务接口代码同样包含:Add、Update、Delete、Get、GetAll、GetPage、GetByFilter基本数据服务接口作方法;生成的服务类自动添加标记[EsOneService],服务方法自动添加标记[EsOneServiceMethod],需要授权的方法添加标记[Authorize],允许匿名访问的方法添加标记[AllowAnonymous];服务运行框架会根据服务类标记加载服务,根据服务接口方法标记设定服务接口访问权限;
步骤8:在VisualStudio中编译解决方案,将生成的动态链接库发布到服务运行框架下,服务运行框架会自动加载服务并对外提供数据服务访问接口,用户在浏览器中浏览服务接口,并进行接口调试。
本发明形成完整的.NET项目解决方案,提高开发效率和程序可靠性。
本发明使用的是日趋流行和稳定的微软.NET架构和VisualStudio开发工具,基于VisualStudio项目模板技术,只使用VisualStudio一种开发工具就可以自动创建开发框架和Model、DAO、Service各层代码,降低了学习门槛和开发成本,大幅提升了开发效率,能够快速响应客户需求;同时,实现了项目开发的标准化,对程序代码进行了快速标准化生成,增加了项目代码的统一性,便于后期维护和升级。
附图说明
图1是项目模板插件安装界面。
图2是新建项目界面。
图3是应用程序设置界面。
图4是数据服务接口调试界面。
具体实施方式
一种基于VisualStudio的快速开发方法,其核心是基于.NET模板技术,通过项目模板快速自动生成Model、DAO、Service层代码。
基于以上观点,本发明具体包括以下步骤:
步骤1:创建VisualStudio项目模板插件EsOneProjectTemplateVSIX.vsix,项目模板中包含:Model、DAO、Service三个项目,每个项目中均包含一个模板文件(*.tt),模板文件(*.tt)主要实现自动生成各层标准的业务逻辑代码。
步骤2:开发人员在VisualStudio开发工作中安装项目模板插件EsOneProjectTemplateVSIX.vsix,项目模板插件安装界面如图1所示。
步骤3:基于项目模板创建新项目,创建新项目时选择已安装的模板,新建项目界面如图2所示。
步骤4:进行应用程序名称、项目保存路径、关系数据库配置信息和项目信息属性设置,应用程序设置界面如图3所示。其中关系数据库配置信息包括服务器、数据库、用户名和密码,项目信息包括实体容器名称、命名空间名称。点击“开始创建”按钮后,VisualStudio根据配置的项目信息自动生成解决方案和Model、DAO、Service三个项目。
步骤5:在Model项目中,根据模板文件生成业务实体类;选择DAO项目的实体数据模型文件Main.edmx;在实体数据模型设计器空白处单击鼠标右键,在菜单中选择“从数据库更新模型”,根据选择添加的表、视图自动生成业务实体类,业务实体类包含数据库表及视图中各个字段的属性。
步骤6:在DAO项目中,根据模板文件生成数据访问类。
选择DAO项目中的数据访问模板文件“Repository.tt”,在右键菜单中选择“运行自定义工具”命令,自动根据业务实体类生成对应的数据访问层代码。数据访问层代码包含:Add、Update、Delete、Get、GetAll、GetByID、GetPage、GetByFilter等基本数据库操作方法,这些方法基本可以满足对一个数据库表或者试图的常规操作。数据访问类同时支持SqlServer、MySql、Oracle等多种关系数据库,切换任何一种关系库不用更换程序代码,只需要更换数据库连接,数据访问底层基类会根据不同数据库自动进行适配,真正实现各种数据库连接的快速切换。数据访问基类也提供了针对实时数据库等其它数据源的访问接口,方便在业务逻辑的开发过程中对实时库等其它数据源的操作,提高业务开发效率。
步骤7:在Service项目中,根据模板文件生成数据服务类。
选择Service项目中的数据访问模板文件“Service.tt”,在右键菜单中选择“运行自定义工具”命令,自动根据业务实体类生成对应的数据服务层代码。数据服务接口代码同样包含:Add、Update、Delete、Get、GetAll、GetPage、GetByFilter等基本数据服务接口作方法。生成的服务类自动添加标记[EsOneService],服务方法自动添加标记[EsOneServiceMethod],需要授权的方法需要添加标记[Authorize],允许匿名访问的方法需要添加标记[AllowAnonymous]。服务运行框架会根据服务类标记加载服务,根据服务接口方法标记设定服务接口访问权限。
步骤8:在VisualStudio中编译解决方案,将生成的动态链接库发布到服务运行框架下,服务运行框架会自动加载服务并对外提供数据服务访问接口。用户可以在浏览器中浏览服务接口,并进行接口调试。数据服务接口调试界面如图4所示。
Claims (2)
1.一种基于VisualStudio的快速开发方法,其特征在于,步骤为:创建并安装VisualStudio项目插件模板,新建项目时选择项目模板,根据设置的应用程序属性生成整体解决方案和Model、DAO、Service项目,并基于模板文件自动生成各层的标准代码。
2.根据权利要求1所述的一种基于VisualStudio的快速开发方法,其特征在于,具体包括以下步骤:
步骤1:创建VisualStudio项目模板插件,项目模板中包含:Model、DAO、Service三个项目,每个项目中均包含一个模板文件(*.tt),模板文件(*.tt)主自动生成各层标准的业务逻辑代码;
步骤2:开发人员在VisualStudio开发工作中安装项目模板插件;
步骤3:基于项目模板创建新项目,创建新项目时选择已安装的模板;
步骤4:进行应用程序名称、项目保存路径、关系数据库配置信息和项目信息属性设置,其中关系数据库配置信息包括服务器、数据库、用户名和密码;项目信息包括实体容器名称、命名空间名称;VisualStudio根据配置的项目信息自动生成解决方案和Model、DAO、Service三个项目;
步骤5:在Model项目中,根据模板文件生成业务实体类;选择DAO项目的实体数据模型文件Main.edmx;在实体数据模型设计器空白处单击鼠标右键,在菜单中选择“从数据库更新模型”,根据选择添加的表、视图自动生成业务实体类,业务实体类包含数据库表及视图中各个字段的属性;
步骤6:在DAO项目中,根据模板文件生成数据访问类;选择DAO项目中的数据访问模板文件“Repository.tt”,在右键菜单中选择“运行自定义工具”命令,自动根据业务实体类生成对应的数据访问层代码;数据访问层代码包含:Add、Update、Delete、Get、GetAll、GetByID、GetPage、GetByFilter基本数据库操作方法,这些方法能够满足对一个数据库表或者试图的常规操作;数据访问类同时支持SqlServer、MySql、Oracle等多种关系数据库,切换任何一种关系库不用更换程序代码,只需要更换数据库连接,数据访问底层基类会根据不同数据库自动进行适配,真正实现各种数据库连接的快速切换,数据访问基类也提供了针对实时数据库等其它数据源的访问接口,方便在业务逻辑的开发过程中对实时库等其它数据源的操作,提高业务开发效率;
步骤7:在Service项目中,根据模板文件生成数据服务类;选择Service项目中的数据访问模板文件“Service.tt”,在右键菜单中选择“运行自定义工具”命令,自动根据业务实体类生成对应的数据服务层代码,数据服务接口代码同样包含:Add、Update、Delete、Get、GetAll、GetPage、GetByFilter基本数据服务接口作方法;生成的服务类自动添加标记[EsOneService],服务方法自动添加标记[EsOneServiceMethod],需要授权的方法添加标记[Authorize],允许匿名访问的方法添加标记[AllowAnonymous];服务运行框架会根据服务类标记加载服务,根据服务接口方法标记设定服务接口访问权限;
步骤8:在VisualStudio中编译解决方案,将生成的动态链接库发布到服务运行框架下,服务运行框架会自动加载服务并对外提供数据服务访问接口,用户在浏览器中浏览服务接口,并进行接口调试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011317860.XA CN112416305A (zh) | 2020-11-23 | 2020-11-23 | 一种基于VisualStudio的快速开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011317860.XA CN112416305A (zh) | 2020-11-23 | 2020-11-23 | 一种基于VisualStudio的快速开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416305A true CN112416305A (zh) | 2021-02-26 |
Family
ID=74777859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011317860.XA Pending CN112416305A (zh) | 2020-11-23 | 2020-11-23 | 一种基于VisualStudio的快速开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416305A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076096A (zh) * | 2021-04-29 | 2021-07-06 | 成都星云智联科技有限公司 | 一种桌面应用程序开发方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049957A (zh) * | 2013-03-13 | 2014-09-17 | 成都泰聚泰科技有限公司 | 基于星形结构的通用业务模型的快速建模框架 |
CN104834551A (zh) * | 2015-04-30 | 2015-08-12 | 南京工业大学 | 一种基于四层架构的.net代码自动生成方法 |
CN111638877A (zh) * | 2020-06-01 | 2020-09-08 | 山东汇贸电子口岸有限公司 | 一种Web项目可视化快速开发方法 |
-
2020
- 2020-11-23 CN CN202011317860.XA patent/CN112416305A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049957A (zh) * | 2013-03-13 | 2014-09-17 | 成都泰聚泰科技有限公司 | 基于星形结构的通用业务模型的快速建模框架 |
CN104834551A (zh) * | 2015-04-30 | 2015-08-12 | 南京工业大学 | 一种基于四层架构的.net代码自动生成方法 |
CN111638877A (zh) * | 2020-06-01 | 2020-09-08 | 山东汇贸电子口岸有限公司 | 一种Web项目可视化快速开发方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076096A (zh) * | 2021-04-29 | 2021-07-06 | 成都星云智联科技有限公司 | 一种桌面应用程序开发方法、装置、设备及存储介质 |
CN113076096B (zh) * | 2021-04-29 | 2024-04-23 | 成都星云智联科技有限公司 | 一种桌面应用程序开发方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789715B2 (en) | Systems and methods for transformation of reporting schema | |
CN102591654B (zh) | 一种基于ssh架构的代码生成器及方法 | |
US20130338972A1 (en) | Building information management (bim) enablement platform of bim data model, data management services apis, restful apis for bim content and meta data hosting, format exchange, and workflow enablement | |
CN102034152B (zh) | 基于soa架构的异构软件系统数据的集成整合方法与系统 | |
CN105224377A (zh) | 一种通过元数据自动生成软件项目编码文件的方法及装置 | |
US20120331012A1 (en) | Decorated model architecture for efficient model-driven application development | |
CN102651007A (zh) | 一种管理数据库索引的方法和装置 | |
CN115617327A (zh) | 低代码页面搭建系统、方法及计算机可读存储介质 | |
CN110807015A (zh) | 一种大数据资产价值交付管理方法及系统 | |
CN109063362B (zh) | 航电软件接口控制文件设计管理系统 | |
CN103593456A (zh) | 表单自定义设计方法及装置 | |
CN111831282A (zh) | 基于vue技术的低代码开发表单方法和系统 | |
CN101604286B (zh) | 一种关键字驱动表格生成方法 | |
CN111290813B (zh) | 一种软件界面字段数据标准化的方法、装置、设备和介质 | |
CN112416305A (zh) | 一种基于VisualStudio的快速开发方法 | |
CN111273900A (zh) | 基于gitlab实时代码共享的在线拖拽编码生成方法 | |
CN108959391B (zh) | 展现数据库集群架构图的设备、系统、方法、存储介质 | |
CN102314495A (zh) | 一种数据库对象的维护方法 | |
CA3078659A1 (en) | Method for providing a programming tool and for data processing system | |
CN116029648A (zh) | 基于产品bom结构的关系建模管理方法、装置及系统 | |
CN110704168A (zh) | 一种基于Terraform管理OpenStack虚机的方法及装置 | |
CN109558125A (zh) | 一种提高一般信息管理软件开发效率的实现方法 | |
CN117492721B (zh) | 一种应用于建筑数字化信息系统的通用快速开发方法 | |
CN108647018A (zh) | 可实时预览的代码生成系统 | |
Tang et al. | Design of collaborative support system for architectural design based on ASP. NET |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |