很久没有和大家交流了,今天出来给大家汇报一下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官方网站
敏捷软件工程实验室

转载于:https://blog.51cto.com/agilelab/561977

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

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

    前几天在文章AgileEAS.NET 4.0重构裁剪,新的ORM.支持Linq,正式支持WPF,开放更多的接口简单的介绍了一下AgileEAS.NET平台在2011年初的一些重大改进措施,其中涉及对原 ...

  2. 史上最快、最强大的Gradle 5.0发布,新特性全解

    Gradle 5.0是有史以来速度最快.最安全.最强大的Gradle版本,这是Gradle官方给出的评价,v5.0 新增的功能主要包括: 在构建缓存和更新检查功能的基础之上,Gradle 5.0又改进 ...

  3. 低代码平台,JeecgBoot v3.0版本发布—新里程牌开始,迎接VUE3版本到来

    项目介绍 JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shi ...

  4. 豌豆荚范怀宇:我们在豌豆荚2.0重构时遇到的坑

    豌豆荚范怀宇:我们在豌豆荚2.0重构时遇到的坑 产品豌豆荚MDCC 摘要:2012年10月19-20日,中国移动开发者大会2012在北京国家会议中心举办,豌豆荚 2.0 重构项目技术负责人范怀宇在&q ...

  5. 大数据哔哔集20210106 - Hadoop3.0有哪些新特性

    [大数据哔哔集]是小编发起的每日大数据圈子最前沿.高频.有难度的面试题目以及资讯等. 精简版总结 1.JDK版本的最低依赖从1.7变成了1.82.HDFS支持Erasure Encoding3.Tim ...

  6. c站(clicli.us)3.0 重构经验分享

    halo,大家好,我是 132 唔,经过四天时间,c站的 3.0 重构终于告一段落啦 重构真的是,最不合算的重复劳动了 可是每次重构,都或多或少的,学到新东西 之前的 2.0 重构的文章,在这里:gi ...

  7. AndroidStudio3.0 下载使用新功能介绍

    谷歌2017发布会更新了挺多内容的,而且也发布了AndroidStudio3.0预览版,一些功能先睹为快.(英语一般,有些翻译不太好) 下载地址 https://developer.android.g ...

  8. 尤雨溪携手字节前端专家,畅聊 Vue 3.0 前端技术新趋势

    前端这个技术领域,在应用化以后,涵盖的内容越来越广--纯表现层.应用实现层.应用架构层.基础设施层到改进开发范式的理念层,都有太多可以去钻研的技术点,衍生出了无数前端开发的发展路线."别更新 ...

  9. CLR 4.0 有哪些新东西? -- 类型等价

    CLR 4.0 有哪些新东西? -- 类型等价 我上篇博文说到了CLR 4.0类型嵌入特性, 那么请大家想一想类型嵌入是谁实现的? 选项A   CLR    选项B  编译器  选项C TlbImp  ...

最新文章

  1. java 大文件 md5_使用Java为大文件生成MD5非常慢
  2. 【Rsyslog】 从json 中通过正则 key 获取 value值,rsyslog正则匹配获取key 的 value值
  3. gcc里的__builtin_..
  4. 日本码农为了萝莉,竟然在GitHub上做这种事,“警察,快来抓我啊!”
  5. jzoj5701-[gdoi2018day2]谈笑风生【莫比乌斯反演,二分,最短路】
  6. RedisCacheManager设置Value序列化器技巧
  7. Python基础知识学习笔记——Matplotlib绘图
  8. (转) 淘淘商城系列——搜索服务搭建
  9. 使用 JAVA 中的动态代理实现数据库连接池
  10. 多图详解freeBSD8.2安装过程
  11. Sql Server 分区
  12. 从零基础入门Tensorflow2.0 ----六、27 卷积神经网络
  13. 电脑上安装的matlab软件打不开怎么办,电脑软件打不开没反应怎么办?
  14. 怎么删除微信的手机充值服务器,微信怎么开启和取消自动充值话费功能?
  15. H5及微信小程序实测可用——监听手机返回键操作
  16. JAVA+JDBC超级详解---从连接数据库到连接池
  17. APP流量变现,SDK聚合技术流量变现
  18. Graylog 中文手册 常用功能和问题整理
  19. 软件评测师 各章节考点汇总(基础知识部分)
  20. 关于计算机类期刊投稿心得,计算机类期刊投稿心得.doc

热门文章

  1. codesmith 模板
  2. Linux Shell脚本入门教程系列之(二)第一个shell脚本
  3. PHP类: SEO必备的伪原创工具 (文章重写)
  4. 一种基于局部线性嵌入的半监督方法——半监督局部线性嵌入(SSLLE),MATLAB程序代码
  5. LLE(局部线性嵌入)matlab代码实现
  6. centos7更改管理员密码
  7. 挖掘建模-关联规则-Apriori算法
  8. 自定义异常 java
  9. 动态数组ArrayList c# 1613536290
  10. mysql float精度与范围总结