4

我和我的朋友在应用程序开发问题上存在分歧。这是一个简单的生产管理应用程序。

据我的朋友说,前端将数据存储在 XML 中,Java 程序将读取 XML 文档,将其存储(在后端),然后应用一些业务逻辑并将结果再次存储到另一个 XML 文档中。并且 C# 前端将显示结果(他想使用套接字来传达 XML 的状态)。

我认为这是一个坏主意。我建议整个应用程序应该用 C# 或 Java 编写。

注意:该应用程序是独立的。它不在网络上使用。

你们有人试过吗?请分享你的想法:)

4

7 回答 7

11

你是对的,你的朋友给出了一个坏主意。另外,从你的问题中,我看到有几个困扰的问题,我不知道从哪里开始,所以我只是列出它们而不是任何特定的顺序。但是您要继续阅读的基本规则是,您必须同意越简单越好,正如爱因斯坦所说的“事情应该尽可能简单,但不能更简单”(或者类似的东西,我不记得确切的引用)。

  1. 前端和后端的概念并不真正适用于桌面应用程序。相反,您希望使用 MVC 模式来分离关注点。维基百科可能是开始学习或复习的好地方。
  2. 如果不需要,为什么要使用套接字(这完全没有必要)。这是为什么这是一个坏主意的第一个原因,因为如果一切都是用语言完成的,在相同的进程空间中运行(您的应用程序是桌面或独立应用程序),您就不需要使用套接字。
  3. 同样,为什么是 XML(再次没有必要)。不需要,因为您可以传递 Java 或 C# 对象。对于 XML,当标签被添加到真实数据时,首先存在信噪比问题。然后是解析、构建 XML、潜在的附加库等的时间。这将是您朋友方法中引入的所有代码。

这些是最明显的原因。从经理或公司的角度来看,还有其他原因:

  1. 要维护此应用程序,经理或公司需要雇用 2 个不同的技能组。这可能不是真的,因为大多数程序员都是多语言的。但情况并非总是如此。
  2. 在部署方面,现在您强制您的用户同时安装 JRE 和 .NET 框架,以便能够运行您的应用程序。而其中任何一个都不是一个很小的足迹。
于 2008-12-12T19:57:16.953 回答
5

谈论让它变得复杂。Java 或 C#。一个真的不是另一个的后端。它们都与语言“做同样的事情”。唯一的区别是您是想利用 .NET 的力量,还是想利用巨大的 Java 框架的力量。

于 2008-12-12T19:09:26.660 回答
3

这是一个“不通过网络使用”的桌面应用程序......我根本看不到需要真正的“后端”。

用单一语言编写桌面应用程序,并将数据存储在 XML 中。

于 2008-12-12T19:02:56.780 回答
2

所以你的应用程序是独立的,不需要通过网络工作,但你的朋友坚持使用套接字连接应用程序的前端和后端?此设置有问题,似乎比需要的复杂

在我看来,您的朋友想使用 Java,因为他更了解 Java 的 XML 处理框架。就个人而言,我认为 Java 和 .NET 之间的互操作是多余的。通过使用您选择的单一语言编写应用程序,您将节省大量工时和挫败感。

于 2008-12-12T19:26:26.327 回答
1

你朋友的建议是保持模块化。您使用什么语言并不重要,但如果将它放在一个大项目中,您可能会使其非模块化。

于 2008-12-12T19:03:50.103 回答
1

对于那种类型的应用程序,我只会使用一种语言。

于 2008-12-12T19:06:25.463 回答
1

可以在前端利用 C# 桌面应用程序的强大功能并在后端使用 Java Ejb+Web 服务 (Jax-ws)。C# 应用程序可以读取 SOAP wsdl 来创建存根和访问由 Jax-ws 实现的 Java 后端的接口。

于 2012-08-12T02:50:15.670 回答