uuuuuu10248 2021-12-31 16:21 采纳率: 60%
浏览 115
已结题

关于毕设的一个问题,Java||C#

问题背景:
简单描述一下,本人毕设想做一个本地不需联网的单机客户服务器系统
几个客户机可以给服务器发送信息。服务器作为前台,客户机是服务员。

奈何本人本科期间虽认真学过Java语法和算法以及C#但还是感觉无从下手

问题1:
Java的界面设计本科几乎没有涉及,学的都是一些老掉牙的技术,本科教材是2001年的。不过我可以自学,就是问下,java或c#可以实现我所描述的功能吗?任务量重不重呢?

问题2:
写好的java或c#程序怎么能单独打包出来成咱们用的app的样子呢?总不能每次运行都要先打开eclipse吧?

先谢谢佬们了!!

  • 写回答

4条回答 默认 最新

  • include_iostream_ 2021-12-31 16:43
    关注

    大致叙述

    问题1

    我不知道你要用C/S还是B/S架构;从“客户机”来看似乎是要实现C/S架构,但你的需求描述在我看来还是有点模糊。这里我还是分开来讲。
    B/S的web系统的话,springboot+vue就是为初学者、轻量级开发而生的(事实上也可以做到企业级开发,我们这里只是说这个技术栈门槛比较低,容易学),基本两三个月就能用这个技术栈做出管理系统。
    C/S架构的话,我个人并不熟悉java的有关技术栈,但是C#的WPF是相当简单易学的;值得一提的是C#的.NET技术也适用于B/S架构开发(但我个人认为比springboot+vue要麻烦)。但既然你是写服务器-客户端交互的软件,那么网络访问肯定是不可避免的;退一步讲,就算你不用网络,也总得用什么方法建立客户端和服务端的通信对吧?可以用CAN,RS232等很多协议,但都比网络要麻烦。
    此外在选择C/S还是B/S的时候有一个要注意的地方:B/S架构有很多封装好的框架,比如springboot,甚至不需要去关心通信细节,只要写好接口就可以,使用C/S无论如何恐怕都比B/S的这些架构要更加复杂。

    问题2

    不同语言不太一样。java就用java指令,C#的话,简单程序应该是双击打开就可以,需要命令行参数的话我就不太清楚了。

    细节

    我们再说说细节方面的东西。

    C/S架构下如何启动程序?

    Java需要使用java指令。建议考虑maven,maven使用mvn package打包出来的jar文件,比如说叫做a.jar,那么执行就是java -jar a.jar。
    C#的话,没有命令行参数应该是双击打开即可,有的话就得用CLI界面。

    技术栈的任务量比较

    B/S架构

    SpringBoot+Vue3技术栈非常容易实现。前者需要了解Java,后者需要了解Node.js;都只需要了解基本语法和框架API,完全不需要了解底层原理,工作量非常少(对毕设而言)。
    如果不分离前后端的话,可以舍弃Vue,学习成本可能少一些,但工作量可能会大一些。

    C/S架构

    客户端技术栈比较复杂,我只用过Qt,工作量肯定比硬写C++要少,但仍然比SpringBoot+Vue复杂。C#的话,优势主要在WPF易用,界面可以直接画,但是仍然需要考虑写通信控制逻辑,而SpringBoot是不需要自己写控制逻辑的,但可以进行优化。
    我个人的意见是:SpringBoot+Vue是工作量最少的,但普通本科一般不教,学习成本大一些。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月9日
  • 已采纳回答 1月1日
  • 创建了问题 12月31日

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格