AgileEAS.NET 4.0重构裁剪,新的ORM、支持Linq,正式支持WPF,开放更多的接口

        很久没有和大家交流了,今天出来给大家汇报一下AgileEAS.NET平台的最新进展:

         AgileEAS.NET是一套企业级的快速开发平台或者说是中间件,主要服务于中小软件企业,以提高软件企业的有效生产率为主要目标,结合软件工程、dotnet构件技术、快速工作为其提供一个适合中国特色的中小软件企业的软件生产解决方案。

         AgileEAS.NET平台自2004年底出了第一版本并且应用于实际项目之中,广泛的应用于医疗、保险、互联网、铁路、房地产、农业等行业,在实际应用中,与项目相结合,并一直持续的完善和改进。

         我在去年6-8月份写过一系列文章给大家AgileEAS.NET,但一直没有对产品进行过重大的变更,基于很多客户的反映结合技术发展的趋势,在2011新的一年开始之后,我们对产品进行了一序列重大的重构和裁剪,平台重构主要内容如下:

向.NET Framework 4.0切换

        AgileEAS.NET平台在很长的一段内运行在.NET Framework 2.0之上,在3.0,3.5,4.0到来的年代,迟迟没有变换其NET Framework 环境,从本次重构之后,AgileEAS.NET平台运行在.NET Framework 4.0,以期得到更多的.NET Framework 优秀特性的支持。

正式支持WPF插件

        因为之前一直运行于.NET Framework 2.0之上的原因,所以AgileEAS.NET平台一直没有提供对WPF技术的支持,本次重构之后,平台支持WPF技术,具体使用技术与WinForm类似。

调整了WinForm/WPF运行容器

        AgileEAS.NET平台支持了WPF技术,但对于我们现行的客户来说,使用最多的还是Winform技术,WPF技术可以现有补充,但不是全部替换,那就需要解决一个问题,Winform插件与WPF插件的共存,本次重构调用了之前的Winform运行容器,以期同同时支持Winform和WPF,即WinForm/WPF运行容器。

        同时对原有的WinForm运行容器做了大早的调整,最新界面如下:

 

WinForm/WPF运行容器开放更多的接口

         Winform/WPF运行容器在之提为大家提供了基于资源接口的方式进行自定义logo、标题等方式的替换,大家可以参考callhot的AgileEAS.NET平台开发实例-药店系统-资源文件的替换[大家关心的问题]一文了解原有的资源替换方式,但也只能是替换几张图片和文本的方式进行自定义,并不能由应用开发员进行更完美的替换,本次重构颠覆了原有的这种方式,进行选择更为开放的替换方案:本次重构开放了Winform/WPF运行容器的快速启动窗体、登录对话框、Banner条、关于圣诞框、启始页的直接替换方案,开发者可以自由制作这五个窗体或控件,通过资源配置,运行期动态替换。

如下两种不同的登录窗体风格:

 

改进并增加了新的ORM支撑

        AgileEAS.NET从2005年提供了一个简单的ORM支撑开始,一直提供着一套类似于表格===》行这种模式的ORM技术,原有ORM体系中提供着两个核心的接口ITable和IEntity,分别表示数据表和数据实体,ITable用于处理查询与元数据、IEntity用于处理单记录的CRUD操作。

       原有的ORM体系一直支持着很多应用,经历很多项目的锤炼,其在性能上的表现应该说还是不错的,但是在2011年开始,针对很多小应用,很多朋友反馈写法有些麻烦,感觉有些重了,所以我就考虑在AgileEAS.NET平台中是不是提供一个更轻量级的ORM组件,并且和原有的ORM体系进行融合,新的ORM技术采用了较为流行的属性标记的元数据存储方法,并且吸收了原有ORM技术在性能上的一些优秀实践。

       新的ORM放弃了原有的表格===》行的模式,改用一个独立的数据实体(DataEntity)的定义,元数据及实体的查询、CRUD全部定义在DataEntity之中,这样的好处是更加简洁,生成器也生成更少的代码,更重要的是,新的ORM技术支持linq。

改进并增加了新的Orm技术

        AgileEAS.NET从2005年提供了一个简单的ORM支撑开始,一直提供着一套类似于表格===》行这种模式的ORM技术,原有ORM体系中提供着两个核心的接口ITable和IEntity,分别表示数据表和数据实体,ITable用于处理查询与元数据、IEntity用于处理单记录的CRUD操作。

       原有的ORM体系一直支持着很多应用,经历很多项目的锤炼,其在性能上的表现应该说还是不错的,但是在2011年开始,针对很多小应用,很多朋友反馈写法有些麻烦,感觉有些重了,所以我就考虑在AgileEAS.NET平台中是不是提供一个更轻量级的ORM组件,并且和原有的ORM体系进行融合,新的ORM技术采用了较为流行的属性标记的元数据存储方法,并且吸收了原有ORM技术在性能上的一些优秀实践。

Orm提供linq支持,Linq to EAS.NET

        本次重构提供了一个开发人员非常喜欢的东西,AgileEAS.NET平台中的Orm提供了对Linq技术的支持,即llinq 2 eas.net,这个更新或许是一个平谈的消息,但是对于实际中开发人员而言,这是一个非常大的突破,能大大的提高开发效率,我们可以在应用的开发中借助于强大的linq查询而抛弃大量的DAL层的重复查询代码。

//定义查询对象
DataEntityQuery<NRCMItem> itemQuery = DataEntityQuery<NRCMItem>.Create();
 
//in查询条件
string[] itemCode = new string[] { "01", "02", "03", "17" };
 
//linq查询
var v = from c in itemQuery
        where itemCode.Contains(c.Item) && (c.Code.StartsWith(this.tbSeach.Text) || c.InputCode.StartsWith(this.tbSeach.Text))
        orderby c.Item, c.Code
        select c;
IList<NRCMItem> itemList = v.ToList();
 
//绑定
this.bindingSource1.DataSource = this.itemList;
this.dataGridView1.DataSource = this.bindingSource1;
 

        当然了,Linq to eas.net也只是支持了linq表达式的一部分,即常用的大部分查询,有关于这部分内容,我将用独立的篇幅进行向大家介绍。

改进了对象设计工具

        处理了剪切、复制、粘贴的问题,修正了生成数据库脚本的某些错误,简化了设计界面,增加了代码高亮显示功能,增加属性名与数据库列名的一到性命名选择:

程序集的合并与裁切

        自去年仲夏公开平台以来,陆续收到很多关注AgileEAS.NET平台的朋友们的反馈,有一部分朋友说,AgileEAS.NET平台提供的功能与程序集有些多和庞杂,初学才会感觉有些乱,无从下手的感觉,因为考虑到很多应用都运行在这上面,所以也就一直没有下手改进这个问题,在本次重构中,对此问题进行了重大的变动,本次重构对平台原有的差不多60多个程序集进行了整合和裁切,目前保留了差不多30个独立的程序集,以下对合作和裁切做个说明:

        1.合并了程序集EAS.Kernel,EAS.Model,EAS.IOCContainer、EAS.Session、EAS.Logger,EAS.ServiceLocator,EAS.Aspect程序集为EAS.MicroKernel,其命名空间保持不就。

        2.合并随平台一起提供的UI控件:原EAS.Windows.Controls,EAS.Windows.Tree,HTMLTextBox,PhotoControls合并为EAS.Windows.Controls.dll,命名空间保持不变。

        3.合并分布式通信系统的缓存、文件存储、远程通信服务、智能升级进行了合作,即 原EAS.Distributed.Contracts,EAS.Cached.ServiceInterface,EAS.SmartUpdate.Contracts,EAS.FileStorage,Contracts合并为EAS.Distributed.Contracts。

        4.合作平台管理插件:报表系统相关功能模块并入平台管理插件之中,即EAS.Report.DAL.Interface并入EAS.Explorer.DAL.Interface,EAS.Report.DAL.SQLServer并入EAS.Explorer.DAL.SQLServer,EAS.Report.DAL.Oracle并入EAS.Explorer.DAL.Oracle,EAS.Report.DAL.UI并入EAS.Explorer.AddIn.Assist,只保留EAS.Report.Controls。

        合并命名空间基本保持不变,删除了EAS.Report.DAL.Interface.DALHelper和EAS.Report.DAL.Interface.IDALManager,只保留EAS.Explorer.DAL.DALHelper和EAS.Explorer.DAL.IDALManager。

        5.报表控件可以单独调用,而不用依赖于EAS.Report.DAL.Interface或EAS.Explorer.DAL.Interface。

下载说明

     有关于平台最新版本的最新发布版本的程序集、类库手册、相关资料,请大家从AgileEAS.NET平台的官网http://www.smarteas.net/进行下载,官网设有独立的下载页面,从这里下载:官网下载

     CallHot 写过一个系列的基于AgileEAS.NET平台的开发案例,请大家通过AgileEAS.NET平台开发Step By Step系列-药店系统-索引AgileEAS.NET敏捷开发平台及案例下载(持续更新)-索引AgileEAS.NET平台开发实例-药店系统-视频教程系列-索引一系列文章进行下载。

链接

AgileEAS.NET平台开发指南-文章索引

AgileEAS.NET应用开发平台介绍-文章索引

AgileEAS.NET平台应用开发教程-案例计划

AgileEAS.NET官方网站

敏捷软件工程实验室

时间: 2024-11-27 03:10:36

AgileEAS.NET 4.0重构裁剪,新的ORM、支持Linq,正式支持WPF,开放更多的接口的相关文章

AgileEAS.NET 4.0 重构裁剪后的程序集说明

     前几天在文章AgileEAS.NET 4.0重构裁剪,新的ORM.支持Linq,正式支持WPF,开放更多的接口简单的介绍了一下AgileEAS.NET平台在2011年初的一些重大改进措施,其中涉及对原有程序集的合作与裁剪处理,将原有的近70个程序集合并或裁剪到现在的32个程序集,本文将详细的给大家介绍这30多个程序集的功能.   基础程序集: EAS.MicroKernel.dll      AgileEAS.NET平台微内核程序集,包含了平台中关于IOC.AOP.ServiceLoc

基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 4.0 最新发布版本 -下载使用说明

一.AgileEAS.NET发布包内容界面 在前些时间,我们对AgileEAS.NET平台平台进行了一次重构,进程序集进行了合并和裁剪,也发布一个基于新版AgileEAS.NET平台的SAAS结构的案例-AgileEAS.NET平台开发实例-药店系统-快速的SAAS开发体验,但一直没有向大家提供最新版本的下载和详细的介绍. AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的,

基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - Linq 2 EAS.NET,Orm支持Linq

     前面的文章AgileEAS.NET 4.0重构裁剪,新的ORM.支持Linq,正式支持WPF,开放更多的接口简单的介绍了一下AgileEAS.NET平台在2011年初的一些重大改进措施,其他涉及到有关于Orm体系的改进以及对linq的支持,AgileEAS.NET 快速平台之ORM体系的改进与ORM的新成员一文中对Orm的改进做了介绍,本文将详细的给大家介绍这AgileEAS.NET平台中Orm对Linq技术的支持.   Linq介绍:      LINQ是Language Integ

对ASP.NET 2.0下面的新控件的困惑

asp.net|控件 大家知道在ASP.NET2.0下面微软件给出了一系统的新控件,有一些是挺有用的,比如那个Membership成员管理系统,以及分步向导控件都为我们节省了很多的时间,而另外一些,比如从Datagrid上升级来的Gridview有时候感觉倒不是那么好. 这个控件在为我们提供很大的方便的同时也失去灵活性,比如直接指定一个SQL语句就可以完成数据访问的工作,而分页显示,排序更是比吃饭还简单.众所周知,这是与我们分层的逻辑架构设计相违背的,这样就造成了一个难堪的局面,新手很难单单只凭

ASP 3.0中的新特性

    假如读者已经熟悉了ASP 2.0,并正在寻找3.0版本中的实际改变的列表,那么将在下面发现这些信息.假如读者是一个ASP的初学者,可以越过本章到下一章,那里循序渐进地介绍了ASP对象和它们的用法.    ASP 3.0新特性概要    在ASP 3.0中,有一些新的特性或经历较大的变化或改进的特性.    1. 无脚本的ASP    如早先提到的, ASP处理不包括任何脚本的.asp页的速度是很快的,假如你正在创建的站点或Web应用程序文件最终可能使用ASP,最好让这些文件使用.asp文

VBSctipt 5.0中的新特性

VBSctipt 5.0中的新特性 能够在ASP中应用的特性包括了那些由脚本引擎所提供的特性,这意味着VBScript的改进也可在ASP中应用.VBScript的改进如下所述: 1. 在脚本中使用类在VBScript中实现完整的VB类(class)模型,但明显的例外是在ASP服务器端的脚本事件.可以在脚本中创建类,使它们的属性和方法能够和用于页面的其余代码,例如:Class MyClass Private m_HalfValue 'Local variable to hold value of

IBM Rational Rhapsody 8.0和Rhapsody Design Manager 4.0中的新功能

重要的新功能 IBM Rational Rhapsody 开发环境支持广泛的技术,可用于许多用途,例如: 需求分析 基于模型的系统工程 交易学习分析 嵌入式和实时软件开发 注重安全性的软件开发 基于模型的测试 AUTomotive Open System ARchitecture (AUTOSAR) 开发 捕获 DoDAF 或 MODAF 架构框架 Rational Rhapsody 8.0 和 Rational Rhapsody Design Manager 4.0 版本包含一些新功能和改进,

UC浏览器pc版3.0有哪些新功能?

  近日uc浏览器电脑版更新至3.0了,既然是更新那么一定有些新功能加入.UC浏览器pc版3.0有哪些新功能值得我们体验呢?下面是UC浏览器电脑版3.0功能一览,我们一起来看看. 1.大图速览 在新版UC浏览器地址栏中,你会发现有一个图标是之前一直没有出现的,这就是正式版中新增加的"大图速览".具体来说就是当我们浏览微博或淘宝这样一些特殊网站时,鼠标悬停能够直接浏览到小图所对应的清晰大图,省却了之前必须点击才能查看的麻烦. 实测看也还不错,浏览器在大图尺寸及细节把握上比较得体,既不会对

微软小娜苹果1.9.0有什么新功能

  微软小娜苹果1.9.0有什么新功能 显示内容更详细 7月2日消息,微软小娜iOS版(Cortana)今日迎来v1.9.0版本更新,本次更新主要提升了易用性,完善用户体验. 微软小娜1.9.0中新功能: • 小娜变身外脑了,告诉小娜会帮你记住的事情,随时可在提醒列表查看. • 给小娜提反馈再也不担心内容太多只能看到一行了. iOS版<微软小娜>下载地址:https://itunes.apple.com/cn/app/cortana/id1054501703?mt=8&ign-mpt=