.net web 快速开发平台-构思

 

           目前,大部分公司都有自己的开发平台,有的是将开源的框架经过不断的修改整理完善而来的(列如:NHibernate,Entity Framework,spring.net等),也有的是根据实际的项目需要专门开发的,这就需要有过硬的技术能力。到现在为止,我也将做的多个项目进行整合不断完善,基本实现了一个简单的开发平台,和大家分享一下我的设计思路和平台的结构,希望大家能指出不足之处。

          做一个平台的目的无非是为了提高开发的效率,降低开发的成本。为了提高效率就必须将项目中的公共部分的代码抽象出来,将实现相似功能的程序共通化,减少重复代码的使用,并使程序易于扩展,适应变化。我的平台中实现了以下功能:

一.集成数据库的访问

                作为一个程序员,如果每次实现对数据库的操作都要重复编写代码来定义和操作数据库连接对象Connection,事物处理对象Transaction,sql语句执行对象Command等等,那就很愚蠢的做法。我见过的公司都对数据库的访问做了处理,有一些使用的是ORM框架,连sql语句都不需要写,就能实现对数据库的增删改查。但是这种框架也有一些缺点,在实现复杂的多表查询时,不好实现,而且在性能方面也有一点不足。我在这个平台中没有使用ORM技术,而是将对数据的访问进行了共通化,分别实现了对oracle,DB2,sqlserver数据的访问,还可根据需要扩展对其他数据库的访问。访问数据库时只需要传入sql语句,相应的参数,并设定是否启用事物就能实现对数据库的访问。

设计图如下:

 

          也有的框架是使用Linq To Sql 实现对数据库的访问,这样能节省很多代码,不需要写sql语句。但是使用这种方法也有缺点:

             1.Linq To Sql 实现对数据库的访问的性能不是很好。

             2.当数据库要从sqlServer换为oracle等其他数据库时改动量会很大。

二. 集成日志的处理

        现在有很多优秀日志工具包,如Log4等,也很好用。但我在这个平台中没有用这些现成的日志工具包,而是采用了自己开发的日志包。主要记录三种日志:

         1.异常日志,  能把发生异常的详细信息记录下来,用于查找异常发生的原因。

         2.sql语句执行日志,用于记录执行的sql语句,sql语句执行的时间,参数等信息。

         3.debug跟踪日志,用于记录一些指定的信息(如登陆用户进行的操作,某个特殊变量的值,某个函数执行的时间等)。

这些功能都能通过配置文文件中的开关来开启或关闭。

三.提供大量共通类库

       提供图片处理,Excel,word,Txt文件处理,文件传输处理,压缩解压缩处理,Json处理,加密解密处理,自定义控件等等的类库。这样在平台需要实现一些特殊的功能时,只需要调用相应的方法就能实现。

四.集成通用的功能

    如权限的管理,菜单的设定等一些通用的功能。

五.动态表单设计器

     通过表单设计器,可根据需要设计表单的布局等信息,并将表单的信息用xml的形式保存到数据库。当需要对表单的布局,样式等进行修改时,可直接从数据库中读取xml文件进行修改。这样当页面发生不涉及应用逻辑的变化时,不用修改代码,直接通过设计器修改页面即可。页面保存后会根据模板生成相应的html页面或aspx页面,当访问页面时,根据设计的权限判断是否能访问,如果能访问,则转到相应的页面中,然后根据权限显示页面的状态。

六.动态报表设计器

      用于设计报表的布局等信息,并将报表的信息用xml的形式保存到数据库中。当需要对报表的布局,样式,数据源等信息进行修改时,可直接读取xml进行修改。

极致管理软件开发平台基于Microsoft .Net开发技术和模型驱动的技术架构,是面向业务应用的管理软件开发平台。极致管理软件开发平台提供数据实体定义工具、界面设计工具、系统发布工具和运行时框架组件,帮助软件开发人员突破技术瓶颈,实现少写代码或不写代码、快速地开发应用软件的目的。 极致管理软件开发平台基于模型驱动的技术架构,不仅能够快速地开发应用软件,而且开发的软件系统具有高度的扩展性和可维护性,能够根据的用户需求快速地对软件系统进行调整,降低了软件实施和维护过程中的成本和风险,使软件系统能够充分满足用户的个性化需求,以及用户不断发展和完善信息系统的长期目标。 极致管理软件开发平台体现了极致公司充分把握目前管理软件平台化开发的新趋势,融合了极致公司在管理软件领域的行业经验和主流的开发技术,能够帮助软件企业实现“快速开发、随需而变”的目标,从而帮助软件企业在激烈的市场竞争中赢得先机并获得前所未有的高回报。 极致管理软件开发平台的基本思想 一、模型驱动的技术架构 极致管理软件开发平台基于模型驱动的技术架构,通过元数据来保存数据实体、用户界面和业务流程的模型。应用软件系统通过运行时框架根据元数据描述的模型来访问数据、加载用户界面并驱动业务流程。 以模型驱动的方式,而不是编程的方式,使软件系统更加易于理解,并且有更好的扩展性和可维护性。 数据实体元数据 使用极致数据实体定义工具进行数据实体定义时,一方面对数据实体的定义进行了描述,另一方面建立了数据实体之间的关系,这两方面的数据都作为元数据保存到数据库中。极致管理软件开发平台通过OR Mapping(对象-关系映射)的方式封装了对数据库的访问,以对象的方式来访问数据库中的数据,避免了通过写SQL语句来创建或维护数据表,或通过写SQL语句实现对数据的新增、修改、删除和查询的传统编程方式。 元数据的建立和OR Mapping的数据访问方式实现了面向对象的数据访问方式,能够简化编程并实现对业务逻辑的扩展,同时还为实现多数据库的支持建立了良好基础。极致管理软件开发平台简化了以数据为中心的应用程序中与数据持久化相关的编程任务,使开发人员能够将开发重点专注于实现面向对象的业务模型和商业逻辑。 用户界面元数据 极致管理软件开发平台突破了传统的用户界面编程方式,通过定义界面元数据的方式,而不是编程方式来设计用户界面。极致界面设计工具能够根据数据实体的属性以及数据实体之间的关系快速地设计单据、序时薄、报表、菜单、工具栏等用户界面,同时支持通用表单的设计。通过极致界面设计工具设计的用户界面以界面元数据的方式保存在数据库中,运行时框架组件动态加载界面元数据并创建用户界面。通过元数据来描述用户界面的方式实现的界面的动态构造,使用户界面易于调整和维护。 业务流程元数据 极致管理软件开发平台集成工作流引擎,能够对业务流程进行建模。业务流程建模的结果以元数据的方式保存在数据库中,运行时由工作流引擎根据元数据的描述驱动业务流程。 二、成熟的软件基础结构 极致管理软件开发平台集成了诸多的管理软件基础结构,例如对于互联网直联的支持、对多种数据库的支持、集成的工作流引擎、短信平台和邮件系统等。 极致管理软件开发平台预置了大量的基本操作,例如单据的新增、修改、删除、复制、审核、套打等操作,报表的过滤、打印、预览、联查、导出、快速查找、图表分析等操作。 极致管理软件开发平台还提供了基于以上管理软件基础结构开发的诸多的标准组件,例如用户数据库管理、组织机构管理、用户管理、权限管理、文档管理、数据导入导出等,在通过极致管理软件开发平台开发软件系统能够直接使用。 通过使用极致管理软件开发平台提供的基础结构,在开发软件系统时能够极大地缩短软件的开发周期,降低软件开发成本
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值