第一到第七课在这里:

http://www.cnblogs.com/foreachlife/p/xafvideo_1_6.html

视频地址:http://i.youku.com/i/UMTI5OTEzMDMwMA==/videos?spm=a2hzp.8244740.0.0

之前还是可以贴视频的,现在居然不行了.

XAF入门08需求变更流程

XAF入门09按钮

XAF入门10发送邮件

XAF入门11完整模块

XAF入门12汇总查询

XAF入门13新模块

XAF入门14数据透视表数据准备

XAF入门15数据透视表数据展示

XAF优缺点介绍

一、一次编码,多种平台同时使用

通过一次代码编码写,可以同时产生四种项目:

1,Web项目(b/s)

2,win项目(c/s)

3,平板电脑(beta)

4,移动端(beta)

其中web/win是两个项目,3,4都是web项目,只是使用了不同的适应界面可以在移动设备和平板电脑上进行浏览操作等。

在Sliverlight刚出现的一段时间内,XAF曾试图支持Silverlight版本,不过由于HTML5的兴起,微软至今应该把Sliverlight放到角落里了,所以也导致了Dev公司不支持Sliverlight了。不过他们有些Sliverlight的控件。

WPF也算是不死不活的状态,至少我看到的应用很少。VS除外,那是MS自己的东西:D

sliverlight如果没有HTML5的出现,是个不错的东西,太可惜了,HTML5的兴起,又将我们拉回该死的javascript开发中来了。

二、数据库支持

这应该是XPO的优点,支持14种数据库,SqlServer,Oracle,MySql,DB2.....常见的库都支持了。切换数据库时,无需修改源码,当然如果你开始用了Oracle并且手工调用了SQL语句,在sqlserver中肯定是不能正确执行的。

支持Entity Framework,虽然我不用这个,但是DEV还是支持了,可能是因为M$太强的原因吧。

三、国际化本地化支持

XAF支持多国语言版本,应用程序开发完成后,可以在应用程序模型中生成各种语言的本地化翻译文件,这也算是高大上的支持了吧。

四、自动机制

•由领域对象开始
•自动建立数据库
•自动建立界面
▫列表界面
▫详细界面
▫搜索界面
•内置增删改查,无需SQL编程
五、AOP应用
AOP是面向方面的应用,XAF中被应用到了极致,比如,系统内置的 保存按钮,无论你有多少个业务对象,只要这一个保存按钮,它们的行为是一致的,都是保存到数据库的表中去,如果你需要修改保存按钮的文字,只要在一个地方修改,整个系统中都变了。
 
模块化应用:
假如我们开发一个Excel数据导入功能,同样,我们可以应用于所有业务对象中去,做一次导入功能,所有地方立即使用。XAF内置了非常丰富的元数据,我们可以使来用。
 
控件的复用:
系统中有很多地方需要用到一个控件,比如时间选择,XAF默认没有这些控件时,我们可以开发出来,并可以设置为默认控件,例如应用到Timespan类型上去,只需一步,整个系统都会应用此控件。
 
XAF中有许多这样的自动机制,能一次解决的,坚决不用做两次,拒决重复,拒决复制。
 
六、元数据管理
 
元数据是指我们的程序中代码自身的信息,比如类叫什么名字,它继承自哪个类,实现了哪些接口,有哪些Attribute,有哪些属性?
是在,在.net中,用反射可以取得到这些信息。在信息系统开发中,这个元数据会得到扩展,比如这个类将会在界面上显示的文字是什么,填写数据时有哪些要求,过滤条件是什么等等 。
你会说,这不就是我们自己写的代码吗?
在XAF中这些信息也是需要维护的,我们在给客户写程序时是在帮助客户管理他们的信息。他们是信息化水平提高了。但我们自己的代码,自己的系统本身也是一个信息量庞大的需要管理的内容。我们如果不是处处考虑规划程序本身的内容,那后面乱做一团也是很正常的事情了。
看面向对象的软件设计中,不正是使用了各种概念对这些内容进行了规划吗?
于是有了一个名词叫元编程,也是让人着迷的东西。
 
那么元数据管理有什么用呢?它还是和AOP概念结合使用方显功效的。
比如:我想让所有拥有“名称”属性的类型,都在界面显示为红色,我们可以使用编程方式
foreach(var x in classes)
{
if(x.members.contains('名称')){
    var member = x.members["名称"];
    member.backColor = Color.Red;
  }
}
这只是一段伪代码,如果用传统的开发方式,每个界面这样操作一次,可能会产生很多错误吧,最大的问题是,我们需要那么笨的处理日常问题吗?
我们为什么没有简单方法,节省出时间,不做那种无聊的修改呢?
另外,元数据也是可以扩展的,内置的没有提供的,我们可以自己实现。 
 
七、DomainComponents技术
通常被XAF开发人员简称为DC技术,DC技术是使用接口定义业务逻辑对象的,在EF中,我们通常是用class来定义一个业务对象,使用接口来定义业务逻辑会更快更简捷,我认为最大的一个好处是实现了多继承,如:
public interface 客户{
......
}
public interface 公司{
}
public interface 个人{
} public interface 公司客户:公司,客户
{
}
public interface 个人客户:个人,客户
{
}
这样是多么简单,如果使用class,只支持单继承,另一个接口中的内容,只能手工再次重复敲出代码,那是多么无聊的事情。
有一点小小遗憾的是,DC技术还不支持泛型机制,如果以后能够支持,那它是完美的。在一个进销存系统中,单据无比多,但无非是出库类,入库类,不出不入库类,这三种,然后就有了各种可以想出来的组合,组合出了N多张单据,我们若是使用了DC技术,天空瞬间晴朗了。
 
八、内置功能模块
一、权限模块:
1.支持业务对象级别的权限,增删改查看权限。
2.支持字段级权限,某个字段可读可写。
3.支持行级权限,某个业务对象中某些条件的记录是否有权限进行 删 、改、查看
4.支持上述4种混合权限
5.支持角色,并支持角色嵌套,即,角色3=角色2+角色1
二、审记模块
用于实现业务对象的变更的每个环境,创建时间、修改时间、删除时间,修改内容,每个属性从什么值变更为什么值,何人操作的。
生成的记录相当多,不过可以选择性记录,或自定义。
 
三、 Business Class Library Customization Module 业务对象支持

这是基础模块了,实现了业务对象的无SQL CRUD操作。
四、图表模块
可以实现各种图表的显示,柱状图,饼图之类的,如果你用过DEV的控件,你就已经看过它的效果图了。
五、Clone Objct模块
实现了业务对象的复制,这是一个小模块。
六、Conditional Appearance Module Overview
 条件外观模块,非常常用的模块,实现全局的控制控件是否可用,可见,颜色、字体等 。
七、FileAttachment Module,文件附件模块
用于管理附件文件,可以传到数据库中,也可以个性化为文件系统。
八、HTML Property Editor
在业务对象中可以使用html编辑器。
九、Notifications Module
提醒模块,像outlook一样,到达某时间给出一个弹出提醒,可以选择推迟或取消,可以在业务模块中进行个性化。
比如,到时间提醒去联系客户,更新订单等操作。
十、KPI模块
绩效考核模块,工作的朋友应该都被考核过吧,是标准的模块,可以提供一些图表。
十一、Maps模块
支持地图的显示,这个我还没有用过,不过看起来还不错。
十二、Pivot Chart Module
交叉数据分析表+图表模块,在Excel中有交叉数据透视分析表,因为样子长得一样,我就这么翻译了。
这个确实相当强大,客户可操控性很强,要什么数据统计结果,随心所欲,当然,客户要愿意操作。
这个模块同时带了图表显示,可以将Pivot中的数据同时显示成图表,很直观。
十三、Pivot Grid Module
和上面的一样,只有Pivot表格的显示。
十四、报表模块
当前版本是16.2了,新的功能不断在增加,以前的版本中我们一直在等很多很好的功能。比如报表模块,以前只能在win中做报表设计,现在web中也有了报表设计器了。
相当高大上。
十五、Scheduler 模块
和Outlook中的日历一样。
十六、状态机模块
做简单审批流用的,还不错。
十七、TreeListEditor 
树形列表模块,这个也很常用。
十八、验证模块
这个使用频率是最高的,必填验证,唯一验证等 ,你能想到的都有了。当然也提代了扩展接口。
十九、View Variant
让一个业务对象有多种是显示方式,并可以快速切换。比如图表界面切换成树形视图。
二十、工作流模块
就是工作流了,当前只在winform下可用。
 
九、缺点
 
1.需要学习
2.体系庞大

XAF视频教程来啦,已出15课的更多相关文章

  1. XAF视频教程来啦,已出7课

        XAF交流学习群内的兄弟录制了视频,他没有博客,委拖我发至博客园,希望能让更多的开发人员受益.快速开发企业级应用的好工具!   XAF入门01快速浏览   XAF入门02特点. XAF入门03 ...

  2. MySQL官方.NET Core驱动已出,支持EF Core

    千呼万唤始出来MySQL官方.NET Core驱动已出,支持EF Core. 昨天MySQL官方已经发布了.NET Core 驱动,目前还是预览版,不过功能已经可用. NuGet 地址:https:/ ...

  3. NET Core驱动已出,支持EF Core

    NET Core驱动已出,支持EF Core 千呼万唤始出来MySQL官方.NET Core驱动已出,支持EF Core. 昨天MySQL官方已经发布了.NET Core 驱动,目前还是预览版,不过功 ...

  4. 在编写wpf界面时候中出现如下错误: 类型引用不明确。至少有两个名称空间(“System.Windows”和“System.Windows”)中已出现名为“VisualStateManager”的类型。请考虑调整程序集 XmlnsDefinition 特性。

    wpf中类型引用不明确.至少有两个名称空间(“System.Windows”和“System.Windows”)中已出现名为“VisualState 你是不是用了WPFToolKit?如果是的,那原因 ...

  5. 第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库

    第15课-数据库开发及ado.net 数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库 1.  学习方法 2.  多涨见识 3.  比自己强的人一起,学习更强:比自己更聪明的人 ...

  6. 魅族MX四核手机转让,二手淘宝上+hi-pda论坛结合使用成功已出

    2013-3-14 内容存档在evernote,笔记名"魅族MX四核手机转让,二手淘宝上+hi-pda论坛结合使用成功已出"

  7. 下一代容器架构已出,Docker何去何处?看看这里的6问6答!!

    我猜很多人一看这个标题已经感觉很懵逼了,什么?下一代容器都出来了,我还没学Docker呢!!! 咳咳~~在这里我给大家做一个保证,下一代容器目前也只是各个公司在测试阶段,Github上面也有很多Iss ...

  8. 第15课 - make的隐式规则(上)

    第15课 - make的隐式规则(上) 1. 问题 如果把同一个目标的命令拆分的写到不同地方,会发生什么? 执行make all 这个实验表明了:如果同一个目标的命令拆分的写到不同地方,那么 make ...

  9. TypeScript 2.0候选版(RC)已出,哪些新特性值得我们关注?

    注:本文提及到的代码示例下载地址 - Runnable sample to introduce Typescript 2.0 RC new features 作为一个Javascript的超集, Ty ...

随机推荐

  1. C# DataTable中根据某Column值(不重复)获取该值所在行

    System.Data.DataTable dt = new System.Data.DataTable(); dt.PrimaryKey = new System.Data.DataColumn[] ...

  2. zjuoj 3773 Paint the Grid

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3773 Paint the Grid Time Limit: 2 Secon ...

  3. 关于ssh_copy_id脚本解析

    [oldgirl@module ~]$ more /usr/bin/ssh-copy-id #!/bin/sh # Shell script to install your public key on ...

  4. 界面使用webview,并且webview里面有图片进行自动切换导致界面上滚动条卡顿。

    最近的项目是用webview做的界面,但是在界面顶端加了android本地动画效果的横向滚动条.当webview里面的图片切换时导致滚动条动画卡顿. 1:setLayerType(View.LAYER ...

  5. 利用Python实现从百度下载图片到本地磁盘

    import urllib.request import os import re url=r'http://image.baidu.com/search/index?tn=baiduimage&am ...

  6. Android--我的Butterknife黄油刀怎么找不到控件了!!!

    1,首先说一下Butterknife这个插件真的挺好用的,不过最近几天在写demo的时候发现总是出现绑定的view是空的,当时着急写代码,也没有深究一下,直接手工findViewbyid了,今天下午写 ...

  7. C语言 05 数组

    数组作为函数参数,可以省略元素个数. 数组作为函数参数,传递是整个数组的地址,修改函数形参数组的值,会影响到外面的 实参数组. 基本数据类型作为函数参数,传递是数值.

  8. Welogic中的JMS

    WebLogic JMS 概述 企业消息传递系统使得应用程序能够通过消息的交换与其他系统之间进行通信.消息是包含协调不同应用程序之间通信所需信息的请求.报告和/或事 件.消息提供了提取级别,使您能够从 ...

  9. Java数据结构之回溯算法的递归应用迷宫的路径问题

    一.简介 回溯法的基本思想是:对一个包括有很多结点,每个结点有若干个搜索分支的问题,把原问题分解为对若干个子问题求解的算法.当搜索到某个结点.发现无法再继续搜索下去时,就让搜索过程回溯(即退回)到该结 ...

  10. android控件的对齐方式(转)

    <?xml version="1.0" encoding="utf-8"?> <!-- android:layout_above 将该控件的底 ...