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日

悬赏问题

  • ¥50 关于DynamoRIO处理多线程程序时候的问题
  • ¥15 kubeadm部署k8s出错
  • ¥15 Abaqus打不开cae文件怎么办?
  • ¥20 双系统开机引导中windows系统消失问题?
  • ¥15 小程序准备上线,软件开发公司需要提供哪些资料给甲方
  • ¥15 关于生产日期批次退货退款,库存回退的问题
  • ¥15 手机应用的时间可以修改吗
  • ¥15 docker 运行OPEN-webui异常
  • ¥15 麒麟系统如何删除光盘刻录痕迹
  • ¥15 recipe通过gem协议传的是什么