孟伟斯.NET

快乐的开发者

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

这一讲,你将学到如何使用业务类库去实现你自己程序中的业务。为此,你将从类库中的Person类开始。你也将学到通过代码自动生成用户界面。

·  右键点击MySolution.Module 项目,选择添加 | 新建项...打开添加新项对话框。在对话框中,选择Domain Object模板并且点击OK。然后,你就能得到一个自动生成的类声明。

 

 

·  用如下代码替换生成类中的代码

Code

在上面的代码片段中,应用了DefaultClassOptionsAttribute特性。这个特性意味着Contact业务类具备如下能力:

·  Contact项将被添加到主窗体的导航控件中。当点击此项,会出现一个列表视图。这个列表视图中呈现了Contact类中对象的类型

·  Contact项将被添加到New按钮的子项中, 点击此项,调用Contact明细窗体并且创建一个新的Contact对象。

·  Contact对象将被作为生成报表的数据源

为了分开每一个功能,分别使用了NavigationItemAttribute,CreatableItemAttribute和VisiableInReportAttribute特性

 ·  运行程序(Windows Forms或者ASP.NET Web应用程序)。你将看到如何用特定的数据结构自动生成用户界面。导航控件允许你显示Contact列表。你可以使用附随的编辑属性修改列表中的内容。如果你点击了New按钮或者双击了一条记录,将显示一个明细窗口(被称为 明细视图),并且每一个数据区域都已经被编辑属性填充。

 下午显示了Windows Forms程序中的明细和列表视图:

 

 

你可以看到许多元素都在很短的时间内以直观的方式生成出来了。首先,为编辑属性创建了数据区域,并且编辑属性在Grid控件中显示出来了 。这里说明一点,Combo box控件是为Title Of Courtesy(枚举)创建的。还要说明标题都被转换成了骆驼表示法并且中间加上了空格(camel-case to space-separated),窗口标题也自动更新了。

在 Windows Forms应用程序中,你可以在明细视图中随意更改布局。为此,右键点击一个空白处并选择Customize Layout。现在你可以移动编辑属性到需要的地方。


我的话:

这一讲中,不知道大家有没有感觉,我们仅仅是写了一个 Domain Object 就出现了这么多功能。你可以再次刷新数据库,看看多出来了几张新表,其中Contact是咱们写的,其他的都是XAF类库中已经为你准备好的业务类,比如说Contact继承的Person类,里面还有Country、PhoneNumber等其他现成的业务类。而且我们仅仅只是在Module中添加了业务类,其他的项目根本就没有动。充分说明了XAF的设计思路,那就是让开发人员只关注业务的实现,也说明了XAF框架的强大。

上一篇【翻译】eXpressAppFramework QuickStart 业务模型设计(一)——创建并运行新的解决方案

下一篇【翻译】eXpressAppFramework QuickStart 业务模型设计(三)—— 提供初始化数据 

posted on 2009-10-21 15:00  孟伟斯.NET  阅读(1213)  评论(0编辑  收藏  举报