使用 CodeFluent Entities 通过开箱即用的生成器生成的 UI





0/5 (0投票)
本文将向您展示如何使用 CodeFluent Entities 的 UI 生成器。您可以使用同一个、唯一的模型生成在您选择的目标平台上呈现的界面。您将看到 CodeFluent Entities 是完全 UI 无关的。
CodeFluent Entities 是什么?
CodeFluent Entities 是一款集成在 Visual Studio 2008/2010/2012 中的独特产品,它允许开发人员生成组件,例如脚本(如 T-SQL, PL/SQL, MySQL, Pg/SQL)、代码(如 C#, VB)、Web 服务(如 WCF, JSON/REST)和 UI(如 ASP.NET, SharePoint, WPF)。
代码生成过程是模型优先且持续的:从您的声明式模型中,将推断出一个元模型,然后代码生成器会将其转换为代码。提供了超过 20 个代码生成器(又称“生成器”),可以组合使用它们来按照您想要的架构,使用您想要的技术来创建您的应用程序。
更多信息请访问 http://www.softfluent.com/products/codefluent-entities
CodeProject 会员特别优惠!
作为对 CodeProject 社区的感谢,Softfluent 将免费赠送价值 399 美元的 CodeFluent Entities Professional 许可证。这是一次性活动,将于 4 月 30 日结束。所以不要错过,点击这里!
SoftFluent 是谁?
SoftFluent 是一家创新公司,致力于在 .NET 平台上实现数据驱动应用程序的软件开发工业化。
SoftFluent 是一家创新的软件公司,于 2005 年由微软资深员工、微软咨询服务的前顾问创立。SoftFluent 是高级别的 Visual Studio 行业合作伙伴和微软金牌合作伙伴认证。它利用其在构建企业级应用程序方面的丰富经验,创建了一个针对 Microsoft 平台优化的模型优先代码生成器。
更多信息请访问 http://www.softfluent.com/about-us
CodeFluent Entities UI 生成器
在之前的文章中,我们向您展示了如何使用 CodeFluent Entities 开箱即用提供的以下 UI 生成器。
- Windows Store 生成器
- ASP.NET Web Forms 生成器 / AJAX/JSON
- WPF Smart Client 生成器
- SharePoint Web Part 生成器
在本文中,我想强调 CodeFluent Entities 是完全 UI 无关的事实。确实,您可以使用同一个、唯一的模型生成在您选择的目标平台上呈现的界面。例如,以下是所有可用的 UI 生成器的列表。
让我们看看 CodeFluent Entities 如何从完全相同的模型使用这些不同的生成器生成所有用户界面。
请注意,生成的应用程序不仅仅是一组用户界面;它们实际上是完整的交互式应用程序,共享相同的业务对象模型、数据库,并且是 100% 功能齐全的。
我们使用了 CodeFluent Entities 提供的“ContactManager 示例模型”。
让我们来看看 ContactManager 模型。
您可以在 CodeFluent Entities 提供的生成器的 资源 中找到许多关于如何使用这些生成器的信息。访问 CodeFluent Entities 的 博客,我将跳过它们的配置,直接向您展示生成的 UI。
使用 Windows 8 Store 生成器生成的 UI
默认生成的首页列出了所有命名空间及其包含的实体。
单击实体会进入实体页面。在此实体页面上,您会找到生成该页面的实体的截图。
右键单击此页面或按 Ctrl+Z 将在底部弹出一个菜单,其中包含该实体可用的*操作*列表。这些操作实际上对应于实体提供的业务方法。我们主要可以找到加载实体集(LoadAll
、LoadByXXX
、Load
)的有用方法。
让我们单击“LoadAll
”命令。我们得到一个页面,在左侧显示我们数据库中的所有联系人。如果我们单击/点按联系人实例,其数据将显示在页面的右侧。
通过按 Ctrl+z 或右键单击,可以恢复菜单,从而允许您执行与单个联系人相关的操作,例如创建新联系人、编辑或删除选定的联系人。
例如,按下“编辑”按钮将允许您编辑选定的联系人。此操作将显示一个表单,而不是选定联系人的只读视图:
该表单不仅允许您编辑实体的单个属性,还可以编辑您的实体与其他实体之间的关系,例如,您可以将“用户”实例附加到您的联系人。
使用 ASP .NET MVC 生成器生成的 UI
现在让我们看看由 ASP .NET MVC 生成器生成的网站的样子。
默认生成的首页按命名空间分组列出实体。
单击实体会进入其关联页面。在此实体页面上,您会找到生成该页面的实体的截图。
页面左侧是该实体可用的*操作*列表。这些操作对应于实体提供的业务方法。
这是单击“LoadAll”按钮时为 Contact 实体显示的屏幕:它通过 HTML 表格列出了所有联系人并支持排序!从中您可以查看详细信息、编辑或删除联系人。
假设我们想查看联系人的属性和值。单击“详细信息”超链接将显示以下屏幕。
如果我们返回列表,单击“编辑”超链接将允许您编辑条目。我们现在可以编辑选定联系人的属性。
使用 ASP .NET AJAX 生成器生成的 UI
如您所见,使用 ASP .NET AJAX 生成器将生成比 ASP .NET 生成器更“炫酷”的 UI。此生成器使用 jQuery 和 jQuery UI 库。
默认生成的首页列出了所有命名空间及其包含的实体。
让我们单击一个实体,以便我们看到关联的页面。在此实体页面上,您会找到生成该页面的实体的截图。
页面左侧是该实体可用的*操作*列表。这些操作对应于实体提供的业务方法。
这是单击“LoadAll”按钮时为 Contact 实体显示的屏幕。它通过支持排序和分页的 Ajax 网格列出了所有联系人。从中您可以查看详细信息、编辑或删除联系人。
当单击“编辑”按钮时,会显示一个编辑表单,无需离开页面即可显示。
使用 ASP .NET WebForms 生成器生成的 UI
使用 WebForms 技术也与 CodeFluent Entities 兼容。
默认生成的首页列出了所有命名空间及其包含的实体。
单击实体会进入实体页面。在此实体页面上,您会找到生成该页面的实体的截图。
页面左侧是该实体可用的*操作*列表。这些操作对应于实体提供的业务方法。
这是单击“LoadAll”按钮时为 Contact 实体显示的屏幕。它通过 HTML 表格列出了所有联系人并支持排序。从中您可以编辑或删除联系人。
当单击“编辑”按钮时,会显示一个弹出窗口,其中包含一个用于编辑我们实体的表单。
使用 Smart Client (WPF) 生成器生成的 UI
我们已经看到了 Web 和 Windows 8 UI 的外观。CodeFluent Entities 也可以为 WPF 等桌面应用程序提供 UI 生成器。
默认生成的第一个屏幕列出了所有命名空间及其包含的实体。
单击实体将加载与其对应的所有数据:您可以创建、编辑或删除条目。
单击条目将打开一个窗口来编辑它。您可以编辑实体的简单类型属性,也可以将相关实体附加到您正在修改的实体。
使用 SharePoint WebParts 生成器生成的 UI
对于那些使用 SharePoint 的人来说,有一个 SharePoint 的 UI 生成器可用。
默认生成的首页列出了所有命名空间。
单击命名空间后,我们可以访问命名空间内的实体列表。
单击实体会进入实体页面。它通过 Web Part 列出了该实体所有的数据。您可以在其中创建新条目、查看详细信息、编辑或删除现有条目。
例如,单击条目会显示其详细信息。
最后,单击“编辑”按钮会显示一个表单,以便我们可以编辑相关实例。
结论
如您所见,我们从同一个模型生成了几个 UI,它们彼此之间都是一致的。
此外,借助平台无关表单编辑器,您还可以直接在实体上定义表单,然后这些表单将由用户界面生成器转换为实际屏幕。我们在本文中对此进行了详细介绍。
CodeFluent Entities 应用“持续生成”的原则。
您可能希望让您的项目发展,例如:
- 向模型添加新实体。
- 为特定实体属性指定业务验证规则。
- 为一种或多种实体构建精简视图。
- 本地化您的应用程序。
- 提供基于 SOAP 的 Web 服务 API。
- 创建 Windows Phone 应用程序。
- 创建 Silverlight 或 WPF 智能客户端。
- 设置 MVC 网站。
对模型进行的任何更改都将传播到您应用程序的每个层。CodeFluent Entities 为每个功能提供了默认配置,可以扩展和自定义以满足您的需求。
最后,如果您没有找到所需的生成器,我提醒您,您可以创建自己的模板并将其与模板生成器一起使用,甚至可以创建自己的自定义生成器。您需要做的就是实现 IProducer 接口。
总而言之,CodeFluent Entities 能够通过使用正确的生成器生成具有您选择的 UI 的 100% 功能齐全的应用程序。
资源
CodeFluent Entities 是一款成熟的产品,您可以找到各种资源并了解有关 CodeFluent Entities 的所有信息。
- CodeFluent Entities 页面:http://www.softfluent.com/products/codefluent-entities
- 下载链接:http://www.softfluent.com/products/codefluent-entities/download
- 网络广播:http://www.softfluent.com/community-support/codefluent-entities/webcasts
- 文档:http://www.softfluent.com/documentation/
- 论坛:http://forums.softfluent.com/
- 博客:http://blog.codefluententities.com/
- SoftFluent 网站:http://www.softfluent.com/
祝好,
Pablo Fernandez