前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >.NET for Visual FoxPro Developers(三)

.NET for Visual FoxPro Developers(三)

作者头像
firstxinjie
发布2024-12-06 14:46:31
发布2024-12-06 14:46:31
780
举报
文章被收录于专栏:X#(XSharp)X#(XSharp)

VFP 开发者这为什么要学 .NET ?

Visual FoxPro 是建立桌面应用、Web 应用以及 Web 服务的伟大的开发工具。所以,有什么理由让 VFP 开发者对学习使用 .NET 感兴趣呢?这一节将列出我已经找到的一些令人信服的理由。

市场

你或许了解这样一件事,由 Visual FoxPro创建的新的项目只是占已经被创建的软件系统的总数中很小的一个比例。相反,.NET 开发者的需求不断增加,并且会随着时间的推移持续增加。同时拥有 Visual FoxPro 和 .NET 的技术将会使你作为一个员工或顾问获得更多的工作机会。

ASP.NET

如果你还没接触过 .NET ,你或许会对使用 ASP.NET 来建立Web 应用感兴趣。微软已经在 ASP.NET 投入了很多的精力以使它比 ASP 更好的工作。相对于使用脚本语言来创建 Web 应用,你现在可以使用像 C# 或 VB.NET 这样的完全的面向对象的 .NET 语言。

如果你学会了如何使用 Visual Studio .NET 来创建 Windows Forms 应用,那么你可以使用同样的技巧和熟悉的IDE 来创建 Web Forms 应用和 XML Web 服务,这可以很大程度的减少你的学习曲线。

建立中间层组件

Visual FoxPro 基于它的数据访问和字符串处理速度(尤其对 XML 而言),可以成为创建中间层组件的一个伟大的工具。然而,Visual FoxPro 组件是基于 COM(Component Object Model) 基础的。在使用 COM 几年后,我现在可以告诉你 COM 瓶颈的痛苦!这里是我在使用 VFP COM 组件时受到的“三个打击”:

1.它们调试起来非常痛苦。要搞清楚 COM 组件内部的工作,你通常必须使用 STRTOFILE() 将变量值输出到一个文本文件,以此来确定 COM 是否工作。这真的让人感到非常的沮丧。

2.它们将会把你带入 DLL地狱。首先,COM DLLs 必须在 Windows 注册表中进行注册,并且有时(因为一些未知的原因)注册会不成功。此外,如果你在同一机器上有同一 DLL 的不同的版本,你还会遭遇版本维护的问题。

3.你不能利用 COM+ 对象池,这是因为 Visual FoxPro 的线程模式——在 Visual Basic 6 中也是如此。对象池允许 COM+ 回收或重新利用中间层组件。当一个中间层组件释放自身的时候,COM+ 会将它放入对象池中以便其他客户端可以再次使用它。注意,即使是 .NET 组件,COM+ 仍旧使用同样的技术来控制中间层组件!

这些问题在 .NET 中的状况:

1.你可以很容易的使用Visual Studio .NET 来调试 .NET 组件。实际上,调试器允许你单步调试任何 .NET 语言所书写的的组件。例如,你可以单步调试一个 VB.NET 所写的客户端,它调用了一个用 C# 所写的组件的一个方法。

2..NET 组件 DLLs 是自描述的,并且不需要在 Windows 注册表中注册。通常情况下,你只需要拷贝一个 .NET DLL 到一个机器上后,它就可以工作!

3..NET 组件可以在 COM+ 环境中被控制,并且可以被池化。

语言互操作性

在许多大型的软件开发公司,不同的开发组使用不同的开发语言。.NET 在一个完整的新的层次上提供了语言的交互性。你可以用一种 .NET 语言创建一个类,然后使用另一种 .NET 语言来创建它的子类。你也可以在同一个 Visual Studio .NET IDE 中使用不同的语言来进行工作。

有趣的是,其他的供应商(除了微软)正在为诸如COBOL、PERL、Eiffel、以及其他很少谈论的旧的程序设计语言创建 .NET 版本。

抽象操作系统服务

前面已经提到,.NET Framework 类提供了面向对象的方式来访问底层操作系统的服务。这是一种比调用 Windows API 更好的方式,因为调用 Windows API 时已假设你的应用程序运行在 Windows 操作系统上!

.NET Framework 类库增加了一个抽象层,它最终可以允许你的代码移植到非 Windows 硬件平台,例如无线设备和手持设备。

多线程

Visual FoxPro 的一个局限性就是无法创建多线程的应用。如果这对你很重要,那么,.NET 会让你很容易的创建多线程,允许你的应用程序在后台执行任务,例如打印、计算或者发送/检索电子邮件。

你的确可以学习 .NET

如果你已经经历了 Visual FoxPro 的学习曲线,那么你学习 .NET 就已经有了一个很好的开端——这比 Visual Basic 开发者要好的多。这是因为 VB 开发者转移到 .NET 的最大的学习曲线是面向对象。尽管 VB6 是基于对象的,但它并不具有真正的继承(参看第五章 C# 和 Visual Basic .NET 中的面向对象)。相比而言,Visual FoxPro 开发者学习 C# 或 VB.NET 的语法的学习曲线要短的多。

未完待续......

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 xinjie的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • VFP 开发者这为什么要学 .NET ?
    • 市场
    • ASP.NET
    • 建立中间层组件
    • 语言互操作性
    • 抽象操作系统服务
    • 多线程
    • 你的确可以学习 .NET
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档