用C#前端和Java后端编程:好的还是坏的做法?

udp*_*nil 4 c# java desktop-application

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

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

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

注意:该应用程序是独立的.它不是通过网络使用的.

有没有人试过这个?请分享你的想法:)

Kev*_*nle 11

你是对的,你的朋友提出了一个坏主意.另外,从你的问题,我看到有几个问题,我不知道从哪里开始,所以我只会列出它们,但不是在任何特定的oder.但是你要阅读的基本规则是你必须同意,更简单更好,因为爱因斯坦说"事情应该尽可能简单但不简单"(或类似的东西,我不记得确切的引用).

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

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

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


Geo*_*ker 5

谈论让它变得复杂.Java或C#.一个人真的不是另一个人的后端.他们都和语言"做同样的事情".唯一的区别在于您是想利用.NET的强大功能,还是利用巨大的Java框架的强大功能.