CN112416305A - 一种基于VisualStudio的快速开发方法 - Google Patents

一种基于VisualStudio的快速开发方法 Download PDF

Info

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
Application number
CN202011317860.XA
Other languages
English (en)
Inventor
王毅
应成楼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian TPRI Power Station Information Technology Co Ltd
Original Assignee
Xian TPRI Power Station Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian TPRI Power Station Information Technology Co Ltd filed Critical Xian TPRI Power Station Information Technology Co Ltd
Priority to CN202011317860.XA priority Critical patent/CN112416305A/zh
Publication of CN112416305A publication Critical patent/CN112416305A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Abstract

一种基于VisualStudio的快速开发方法,创建并安装VisualStudio项目插件模板,新建项目时选择项目模板,根据设置的应用程序属性生成整体解决方案和Model、DAO、Service项目,并基于模板文件自动生成各层的标准代码;本发明使用日趋流行和稳定的微软.NET架构和VisualStudio开发工具,基于VisualStudio项目模板技术,只使用VisualStudio一种开发工具就可以自动创建开发框架和Model、DAO、Service各层代码,降低了学习门槛和开发成本,大幅提升了开发效率,能够快速响应客户需求;同时,实现了项目开发的标准化,对程序代码进行了快速标准化生成,增加了项目代码的统一性,便于后期维护和升级。

Description

一种基于VisualStudio的快速开发方法
技术领域
本发明涉及计算机技术领域,特别涉及一种基于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中编译解决方案,将生成的动态链接库发布到服务运行框架下,服务运行框架会自动加载服务并对外提供数据服务访问接口,用户在浏览器中浏览服务接口,并进行接口调试。
CN202011317860.XA 2020-11-23 2020-11-23 一种基于VisualStudio的快速开发方法 Pending CN112416305A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076096A (zh) * 2021-04-29 2021-07-06 成都星云智联科技有限公司 一种桌面应用程序开发方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
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项目可视化快速开发方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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