XAF架构

 

eXpressApp Framework Architecture

XAF架构

Applications built with the eXpressApp Framework are comprised of several functional blocks. The schema below shows the basic blocks, indicates when and how these blocks are created and, last, shows you the areas where you can extend your applications. An overview for each application building block is given later in this topic.

XAF构建应用程序由几个模块构成,下图说明了架构,可以扩展此结构,下面分述

XPO - Data Management Level

一.数据层

      在构建企业应用程序,最终还是要处理数据。如果您使用的是XAF框架,实际上并不需要创建一个数据库管理系统数据库中,自定义表,字段元等,您不需要使用低级别的ADO.NET结构来访问您的数据。相反,您将使用我们的内置对象关系映像系统-在上述图片的底部类库eXpressPersistent对象(XPO)。这个类库也可以单独购买。它最初于2004年发行,这意味着你可以肯定这是一个行之有效的,可靠的,全面的产品。

        XPO允许您描述您的应用程序数据使用熟悉的代码结构-类,属性以及它们的特性(Attribute)。要创建一个数据表,你需要声明一个类。它的公共属性将确定表中的数据域位。当然,您可以根据需要创建多个表,并指定它们之间的关系用特别设计的特性。请注意,您不必做很多额外的工作在建立这些类。您只需要他们得出正确的类,从一对多提供的属性-这是所有。为了帮助您开始使用,我们提供业务类库介绍下面一节。这个库包含几个现成的使用类,你可以集成到你的应用程序。您还可以查看源代码,这些初级的例子,正确的数据声明。

        由于数据表来描述一个类,实际数据是由一个集合类的实例。因此,要修改某个字段的记录,您需要获取所需的对象从集合并更改其属性。这是一个更简单,更自然的方法处理数据。它隐藏了所有的执行细节,让您专注于应用程序的业务逻辑。

        一般来说,你不需要考虑实际的数据库,除非您要更改数据库管理系统使用的应用程序。微软SQL Server是默认选项。目前,XPO还支持Microsoft Access中,MySQL和甲骨文和PostgreSQL,火鸟,PervasiveSQLVistaDB,的SQL Anywhere,优势,DB2Sybase。所有您需要做的改变目标数据库管理系统是提供一个适当的连接字符串。这是详细描述了在连接的XAF应用数据库提供的话题。

       

二.业务类库

      业务类库为您提供以下内容:

     类定义一些常用的实体,如PersonNoteOrganization等,您可以使用这些类的是,或者派生自己的类,如果您需要扩展或改变。您还可以查看源代码这些类来学习如何正确地执行你的数据结构。

        界面,您可能需要执行的数据类。一些子系统的eXpressApp框架要求数据符合特定规则。例如,安全子系统的功能要求用户类来实现IUser接口。因此,如果您已决定开发自己的类来表示应用程序用户,你还必须实现这个接口。

        下面的图片显示了一些类,您会发现在业务类库。

       

       

       

Views

三.显示层

      其中一个主要特点,在eXpressApp框架是自动生成用户界面的应用程序数据的基础上。假设你已经宣布为XPO类,描述了一Person。基本上,这是所有你需要做的就是一个应用程序用于存储联系人信息。你可以简单地启动应用程序,它会显示一个人列表使用一个网格控件。您可以添加新条目或修改现有的。这些操作均通过自动生成的一套个别编辑,每个绑定到特定字段。

        自动生成的UI元素用于显示和管理数据被称为意见。显然,有两种视图:

      .List View

      列表视图的根单元的应用程序。最常见的,这些都是网格显示集合你一起工作的(数据表)。您会看到其中一人当您启动您的项目,您可以切换使用它们之间的导航控制(浏览器栏在Windows窗体应用程序,导航卷标在ASP.NET应用程序)。

       

        Detail View

        这种类型的处理查看单个对象(数据记录),并提出通过独立的属性值编辑。你看这些意见时,添加新记录或修改现有的。

视图主要是建立与控制开发生产的快速和分布式根据DXperience品牌。例如,Windows窗体视图生成使用组件套件,如XtraGridXtraEditors ASP.NET使用编辑次数从ASPxGridView和编辑套件和ASPxperience库。

当然,你可以使用任何你需要控制的代表名单查看或编辑器在详细信息视图。为了提供您自己的控制到应用程序,您首先需要能够从专门设计的类。然后,改变应用模式(如下所述)来指定您的编辑器的默认为特定的数据类型,或作为编辑分配给特定字段。

Controller Library

四.控件类库

      控制器是对象管理应用程序的流程。他们还负责为最终用户交互。即使是最简单的申请建造的eXpressApp框架使用数字的内置控制器的控制库。这些默认的控制器主要负责数据管理。在他们的帮助,您可以添加新的记录,删除现有执行全文搜索,等在大多数情况下,控制器作为容器的行动。像XPO类是抽象的数据表,操作是抽象的最终用户交互的元素-按钮,菜单等动作指定一个可视化表示的用户界面元素及其关联的代码。所以,你没有处理低级别的实施细节,特别是编辑,工具系统,上下文菜单或其它任何东西。并在同一时间,这个高层次的抽象允许相同的行动将用在Windows窗体和ASP.NET Web应用程序。

 

Reports

五.报表

      企业应用程序不只是用来管理数据。这是非常有用的分析趋势,问题领域和资源瓶颈。而且,您可能需要您的数据报告不仅在屏幕上,而且在纸面上。你可以做到这一点通过内置的全功能报表引擎-XtraReports套件。有了它的帮助,你可以自由地建立你需要的任何报告,认为他们在Windows窗体和ASP.NET Web应用程序,当然,它们打印出来。所有应用程序建造的eXpressAppFramework包括报告模块。在Windows窗体应用程序,您可以切换到这个模块,添加一份新的报告和定制的内容在运行时使用集成的最终用户设计。这是如何创建的预定义报告了应用程序的最终用户。最终用户也可以创建自己的报告用同样的方法。但是请注意,报告阅览仅在ASP.NET Web应用程序-XtraReports套件目前不支持基于网络的最终用户设计。

        输出生产的同时打印出一个控制或执行报告可以导出为一个数字的格式,包括RTF格式,HTMLPDF

        To learn more about the integrated reporting system, please refer to the following documents:

·                 Create a Report
In this step of the eXpressApp Framework tutorial, you will learn how to create a simple report and embed it into your XAF application.

·                 XtraReports Suite Online Documentation
Browse the XtraReports Suite documentation online.

·                 Reports Module
Topics from this help section detail all the features and techniques provided by the Reports module.

In addition to the Reports feature, the eXpressApp Framework supplies extra features that can be used in XAF applications. Refer to the following topics for details:

·                 Tutorial.Extra Modules

·                 Concepts.Extra Modules

 

Windows Forms and ASP.NET Web applications

六.CS BS

      其中一个主要目标的eXpressApp框架是单独的业务逻辑从应用程序的可视化表示。这使得双方可以创建一个Windows窗体应用程序,网站基于相同的业务逻辑。当你创建一个新的应用解决方案的帮助下eXpressApp框架,五个项目产生的:

Application Module
This is a Class Library project that contains the basic business objects, and any other code that is not specific to a Windows or Web UI. In the ideal case, this is the only place where you need to write code. The UI section will be built automatically.
这是一个类库项目,包含了基本的业务对象,以及其它任何代码不特定于WindowsWeb界面。在理想情况下,这是唯一的地方,你需要编写代码。用户界面将会自动创建。

·                          

·                 Windows Forms Application Project
Contains code specific to the Windows Forms version of your application.
包含代码特定于版本的Windows窗体应用程序。

·                 Web Application Project
Contains code specific to a browser-based interface.
包含代码特定于浏览器的界面。

·                 Windows Forms Application Module
Used to implement application elements for the Windows Forms application version.
用于实现应用程序元素Windows窗体应用程序的版本。

·                 ASP.NET Application Module
Used to implement application elements for the ASP.NET Web application version.
用于实现应用程序元素为ASP.NET Web应用程序的版本。

 

 

Application Model

.应用程序模型

      所有的数据显示,eXpressApp Framework使用构建用户界面来自应用模型。例如,此信息包括编辑器类用于特定的数据类型,或卷标与特定领域。应用模型自动填充数据查询的应用程序组件-如业务对象和控制器。应用模式定义文件存储在XML格式,因此可以很容易手动编辑。但是eXpressApp框架提供了一种更容易的方法-在模型编辑器,它集成了微软的Visual Studio。你可以用它为设计时和运行定制。要运行它在设计时,双击一个。xafml文件从任何模块或应用程序项目位于解决方案资源管理器。

 

 

原文地址:https://www.cnblogs.com/Tonyyang/p/1592436.html