学习002 Comparison With Other Methodologies(与其他方法的比较 )

Comparison With Other Methodologies(与其他方法的比较 )

Companies store and manage a lot of information about employees, clients, sales, etc. They also keep track of their operations and automate their workflow. So, every company needs software for daily operations, and the quality of this software is crucial to the success of their business. Imagine a restaurant that allows you to reserve a table online, or a bank that allows you to get a credit card activity report summarized and grouped in any manner you like. Such service enhancements create happier customers and stronger sales.
公司存储和管理大量关于员工、客户、销售等的信息。他们还跟踪他们的运营并自动化他们的工作流程。因此,每家公司都需要日常运营的软件,而这款软件的质量对他们业务的成功至关重要。想象一家允许您在线预订餐桌的餐厅,或者一家允许您以任何您喜欢的方式汇总和分组信用卡活动报告的银行。这样的服务增强创造了更快乐的客户和更强大的销售。
A company can either get the required software from one of the two traditional sources we have or it can move forward with the help of the XAF. Take a look at the pros and cons for each of these methods of producing software.
一家公司可以从我们拥有的两个传统来源之一获得所需的软件,也可以在XAF的帮助下继续前进。看看这些生产软件的方法的优缺点。

Scenario #1 - Create Software from Scratch(场景#1-从头开始创建软件)

A company can either order software written from scratch from an independent software company or from the company’s IT department, if one exists. If programmers are not relying on a framework that facilitates business application development, they will face the following problems.
公司既可以从独立的软件公司订购从头开始编写的软件,也可以从公司的信息技术部门订购,如果有的话。如果程序员不依赖于促进业务应用程序开发的框架,他们将面临以下问题:

  • Lots of time will be expended producing even the simplest applications for storing and viewing information. Developers will have to tend to every single aspect of that application - from manual data management in a DBMS, to providing editors for each and every field they require to be edited.
  • 即使是用于存储和查看信息的最简单的应用程序也将花费大量时间。开发人员将不得不关注该应用程序的每一个方面——从DBMS中的手动数据管理,到为他们需要编辑的每个字段提供编辑器。
  • Extensive time and resources will be needed for testing purposes. All software has bugs, so inevitably, an application written from scratch will have many bugs. The only way to avoid them in the first stages of application development is to re-use software pieces that have already been well tested. Of course, developers will try to re-use as much of their own code as possible, but nevertheless, the amount of re-used code will most likely be very small in comparison to the entire application.
  • 测试需要大量的时间和资源。所有的软件都有错误,所以从头开始编写的应用程序不可避免地会有许多错误。在应用程序开发的第一阶段避免它们的唯一方法是重用已经过良好测试的软件部分。当然,开发人员会尝试重用尽可能多的自己的代码,但是尽管如此,与整个应用程序相比,重用代码的数量很可能非常少。
  • It is difficult to maintain and extend such applications. The abstraction level is quite low - developers are responsible for every control on every form. So, even for a small task, like adjusting an editor for a particular data type, they will have to open numerous forms and manually customize them. This can lead to possible errors. The more complex an application is, the more difficult it gets.
  • 维护和扩展这样的应用程序很困难。抽象级别相当低——开发人员负责每个表单上的每个控件。因此,即使是一项小任务,比如为特定数据类型调整编辑器,他们也必须打开许多表单并手动定制它们。这可能导致可能的错误。应用程序越复杂,它就越困难。

Of course, this scenario also has its advantages.
当然,这个场景也有它的优势:

  • Every single aspect of an application will be under the total control of its developers. The only external thing developers cannot change is development tools. Everything else is created by them, known by them and presumably will be more easily maintained and fixed by them.
  • 应用程序的每一个方面都将在其开发人员的完全控制之下。开发人员唯一不能改变的外部事物是开发工具。其他一切都是由他们创建的,因为他们知道,他们可能更容易维护和修复。
  • Developers can optimize the software for the needs of this particular application, which is impossible when a universal software product or library is used.
  • 开发人员可以针对此特定应用程序的需求优化软件,这在使用通用软件产品或库时是不可能的。
  • Applications do not have to follow the rules of some external system. The more help such a system offers, the more specific tasks can be accomplished in concert with the external system.
  • 应用程序不必遵循某些外部系统的规则。这样的系统提供的帮助越多,就越可以与外部系统协同完成更具体的任务。

If you are not building similar applications each and every time, but rather creating unique, individual applications , then creating applications from scratch is the best choice.
如果您不是每次都构建类似的应用程序,而是创建独特的、单独的应用程序,那么从头开始创建应用程序是最佳选择。

Scenario #2 - Adopt a Universal Software Product(场景#2-采用通用软件产品)

A business could buy a product like Microsoft Dynamics AX, and hire consultants to configure it as required. This approach has the following disadvantages.
企业可以购买像Microsoft Dynamics AX这样的产品,并根据需要聘请顾问对其进行配置。这种方法有以下缺点:

  • It demands learning a special programming language, which can prove costly.
  • 它需要学习一种特殊的编程语言,这可能会很昂贵。
  • It does not allow customizing and extending applications.
  • 它不允许自定义和扩展应用程序。
  • Typically, universal products lack in performance.
  • 通常,通用产品缺乏性能。

The pros are:
优点是:

  • If you adopt a well-known system, you can be fairly well assured that it has already been well tested, and you will not experience problems with quality.
  • 如果你采用一个众所周知的系统,你可以相当放心,它已经经过了很好的测试,你不会遇到质量问题。
  • In this case, a business does not have to deal with programming professionals.
  • 在这种情况下,企业不必与编程专业人士打交道。

This scenario is best if something common and simple is needed; if no innovations are planned, and there is no need to have software that is unique in their business class.
如果需要一些常见和简单的东西,这种情况是最好的;如果没有计划创新,也没有必要拥有其业务类别中独一无二的软件。

Scenario #3 - Use the XAF(场景#3-使用XAF)

The XAF lies somewhere between the two scenarios described above. Developers still need to write code, but a great deal of it has already been completed for them. XAF gives them a development platform that makes it much easier to develop business applications. These are the applications described at the beginning of this overview - those designed to enter, store, browse, analyze, print data, or if needed, organize company workflow. If you are trying to build an application of another type - a game, a graphic editor, a word processor, etc. - the XAF will not help you.
XAF介于上述两种场景之间。开发人员仍然需要编写代码,但已经为他们完成了大量代码。XAF为他们提供了一个开发平台,使开发业务应用程序变得更加容易。这些是本概述开头描述的应用程序——那些旨在输入、存储、浏览、分析、打印数据或在需要时组织公司工作流程的应用程序。如果您试图构建另一种类型的应用程序——游戏、图形编辑器、文字处理器等——XAF不会帮助您。
There are a number of things that you have to create each time you develop a business application - these elements are quite similar, and yet there’s no easy way to re-use code. You have to setup datasets, grids, entry forms, etc. But, instead of doing this routine work, the XAF offers you a high level interface hiding these implementation details, and letting you concentrate on business logic. For example, with XAF, it is much easier to declare and access data than using ADO.NET, and you have to do little work to create a UI for data management.
每次开发业务应用程序时,您都必须创建许多东西——这些元素非常相似,但没有简单的方法来重用代码。您必须设置数据集、网格、输入表单等。但是,XAF没有做这些日常工作,而是为您提供了一个隐藏这些实现细节的高级界面,让您专注于业务逻辑。例如,使用XAF,声明和访问数据比使用ADO.NET容易得多,而且您几乎不需要做什么工作来创建用于数据管理的UI。
Of course, the XAF was initially designed to address issues that take place when you develop an application from scratch. Thus, the main goals of the XAF technology are:
当然,XAF最初旨在解决从头开始研发App时出现的问题。因此,XAF技术的主要目标是:

  • Easily re-use the same business logic in applications designed for different platforms (WinForms, ASP.NET Core Blazor, and ASP.NET Web Forms).
  • 在为不同平台(WinForms、ASP.NETCore Blazor和ASP.NETWeb Forms)设计的应用程序中轻松重用相同的业务逻辑。
  • Provide data-to-UI construction algorithms. This means that you do not need to manually create many similar forms for data browsing and editing. This also makes it easy to maintain applications, since if you change data, you do not have to modify numerous forms and/or web pages - it is done automatically.
  • 提供数据到用户界面的构造算法。这意味着您不需要手动创建许多类似的表单来进行数据浏览和编辑。这也使得维护应用程序变得容易,因为如果您更改数据,您不必修改许多表单和/或网页——它是自动完成的。
  • Hide data management details. You will not have to deal with any DBMS or use ADO.NET to access data. The XAF gives you a higher-level tool for data management. This tool makes it easy to store your data using any popular DBMS, without having to be familiar with it in detail. It is also easy to change the target database management system.
  • 隐藏数据管理细节。您将不必处理任何DBMS或使用ADO.NET来访问数据。XAF为您提供了更高级别的数据管理工具。该工具可以轻松地使用任何流行的DBMS存储您的数据,而无需详细熟悉它。更改目标数据库管理系统也很容易。
  • Makes it extremely easy to create business applications designed to store and view data.
  • 使创建旨在存储和查看数据的业务应用程序变得非常容易。
  • Allows applications to be created using any .NET language.
  • 允许使用任何. NET语言创建应用程序。

There are more features that make the XAF the best option.
还有更多功能使XAF成为最佳选择。

  • It is easily extensible. You can customize or fully replace almost every built-in application UI element or standard behavior. You can also combine traditional development approaches (e.g., show existing custom forms or controls) with pure XAF approaches, if required. Finally, XAF comes with the full source code which you are free to modify, though it is practically unnecessary due to its great flexibility and extensibility. This all makes the vendor lock-in effect impossible with XAF.
  • 它很容易扩展。您可以自定义或完全替换几乎所有内置的应用程序UI元素或标准行为。如果需要,您还可以将传统的开发方法(例如,显示现有的自定义表单或控件)与纯XAF方法相结合。最后,XAF附带了完整的源代码,您可以自由修改,尽管由于其巨大的灵活性和可扩展性,实际上没有必要修改。这一切都使得供应商无法使用XAF锁定效果。
  • The quality of major constituent parts is guaranteed. The eXpress Persistent Objects or Microsoft ADO.NET Entity Framework Core used as the object-relational mapping tool and visual components from the DXperience Subscription are all leading products of their kind. So, they are well-tested and highly reliable.
  • 主要组成部分的质量得到保证。eXpress持久对象或MicrosoftADO.NET实体框架核心用作对象关系映射工具和来自DXperience订阅的可视化组件都是同类产品中的领先产品。因此,它们经过了良好的测试和高度可靠。
  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤姆•猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值