许多公司都必须存储和管理大量关于职员, 客户, 销售等方面的信息. 他们也必须保留工作轨迹, 并使工作流自动化. 因此每家公司都需要软件进行日常工作, 软件的质量对业务成功是至关紧要的. 设想允许你在线订桌的某家餐馆, 或允许你获取所需任何样式组织的信用卡交易总结报告的某家银行. 这些服务增进了客户满意度, 并能促进销售.
一家公司可以从两种传统的来源获得所需的软件, 或者取得 eXpressApp Framework 的帮助. 让我们看一下生产软件的各种方法的利弊.
场景 #1 - 从零开始开发软件
一家公司可以向独立的软件公司, 或本公司内部的 IT 部门(如果存在), 去定制软件. 如果程序员们不使用能促进业务应用程序开发的某个框架, 他们将要面对下列问题:
- 大量的时间将被耗费在生产甚至是最简单的存储和查看信息的应用程序上. 开发人员必须关注应用程序的每个方面 - 从 DBMS 中的人工数据管理, 到为需要被编辑的每个字段提供编辑器.
- 需要大量的时间和资源进行测试. 所有软件都有 bugs, 因此不可避免地, 一个从零开始编写的应用程序将会有大量的 bugs. 在应用程序开发的首个阶段, 避免 bugs 的唯一途径是重用已经测试通过的代码段. 当然, 每个开发人员将尽量尝试重用自己的代码, 但是与整个应用程序比较而言, 可重用的代码量毕竟是少数.
- 难于维护和扩展这些应用程序. 抽象级别非常低 - 开发人员要对每个窗体上的每个控件负责. 因此, 即使是小型的任务, 例如为某个特定的数据类型调整编辑器, 他们必须打开无数的窗体并人工定制它们. 这可能会产生误操作. 对越复杂的应用程序, 维护的困难也就越大.
当然, 这种场景也有它的好处.
- 应用程序程序的每个方面都将在开发人员的总体控制下. 唯一例外的事实是开发人员不能改变开发工具. 他们创建的, 熟知的代码等由他们维护和修复也许更容易.
- 对特定需求, 一个通用软件产品或库不可能被使用, 开发人员却可以按需优化软件.
- 应用程序不需要遵循某些外部系统的规则.
如果你不是每次都构建类似的应用程序, 而是要创建独特的个别的应用程序, 那么从零开始创建它是最佳的选择.
场景 #2 - 使用通用软件产品
某个业务可以购买一个软件产品, 例如 Microsoft Axapta, 并聘请咨询专家来按需求配置它. 这种方式有下列不足之处:
- 需要学习特定的编程语言, 并且它们是非常昂贵的.
- 不允许定制和扩展应用程序.
- 越通用的产品, 性能越低.
好处是:
- 如果你采用一个知名的系统, 可以充分保证它已经经过良好的测试, 不会发生质量问题.
- 在这种情况下, 业务不需要专门规划.
如果需要通用和简单, 如果不计划革新, 不需要软件有独特的业务类, 那么这种场景是最佳选择.
场景 #3 - 使用 eXpressApp Framework
eXpressApp Framework 介于上述描述的两种场景之间. 开发人员仍需要编写代码, 但已经为他们完成了大量的代码. XAF 为他们提供一个开发平台, 让开发业务应用程序变得更简单. 这些应用程序是在概述开始部分所描述过的 - 那些设计为输入, 存储, 浏览, 分析, 打印数据, 或组织一个工作流的应用程序. 如果你尝试构建另一种应用程序 - 游戏, 图像编辑器, 字处理器等 - eXpressApp Framework 将不能对你有所帮助.
在每次开发一个业务应用程序时, 都有大量的事物需要你创建 - 这些元素非常类似, 但不容易重用代码. 你必须配置数据库, 表格, 输入窗体等. 但是, 替代这些例行工作, eXpressApp Framework 为你提供了更高级的接口来隐藏这些实现细节, 让你专注于业务逻辑. 例如, 使用 XAF 比使用 ADO.NET 更易于声明和访问数据, 你只需要做少量的工作来为数据管理创建用户界面.
当然, eXpressApp Framework 最初的设计是用于解决那些从零开始开发会发生问的题. 这样, eXpressApp Framework 技术的主要目的是:
- 易于重用应用程序中为不同平台(Windows 窗体和 ASP.NET)设计的相同的业务逻辑.
- 提供 data-to-UI 构建算法. 这意味着你不需要人工创建大量用于浏览和编辑数据的类似窗体. 这也能让维护应用程序变得容易, 因为如果你改变了数据, 你不需要修改大量窗体和/或网页 - 这是自动完成的.
- 隐藏数据管理细节. 你不需要处理任何 DBMS 或使用 ADO.NET 来访问数据. eXpressApp Framework 为你提供了一个更高级的工具来进行数据管理. 这个工具让你在流行的 DBMS 中存储数据变得容易, 而不需要详细了解它们. 这也能让改变目标数据库管理系统变得容易.
- 非常易于创建用于存储和查看数据的业务应用程序.
- 允许应用程序使用任何 .NET 语言创建.
有更多的特性让 eXpressApp Framework 成为最佳选择:
- 易于扩展.
- 主要部分的质量是有保证的. eXpress Persistent Objects 使用“对象-关系映射工具”(Object-Relational Mapping tool)和源自 DXperience Subscription 的界面友好的可视化组件. 因此, 它们经过良好的测试, 具有高度的可靠性.
了解更多关于 eXpressApp Framework 的内容
- eXpressApp Framework 架构
描述了使用 eXpressApp Framework 所需要知道的主要原理. - 指南
按指南中的步骤创建首个使用了 eXpressApp Framework 的应用程序.
欢迎转载,转载请注明出处:http://www.cnblogs.com/Tonyyang/