关于C#项目结构设计问题

问题描述

本人初学者,准备编写一个设备上用的软件,里面主要有3个模块,一个是发车身模拟信号模块,有现成的别人示例,还有一个是测试指令发送模块,也有现成的示例,然后还要一个测试主界面。我是想问就是我的主界面是单独的用一个新的form来显示各个测试结果(测试模块会返回一些数据)把模拟信号模块和测试结果模块得到的数据汇总到主界面然后做一些判断,还是说把测试指令发送模块作为主界面,然后在里面增加判断或者一些信息显示呢?车身模拟型号模块是要一个独立线程,测试指令模块应该也是规划一个线程,如果是测试模块作为主form的话,那么就是用主线程来发送测试指令。哪样结构设计更合理一点?我看有工程师都放在一个form里面,觉得那样太乱了。

解决方案

解决方案二:
先把项目的功能点分好,然后根据功能点设计界面(可能一个界面上,也可能几个form)。涉及到的功能代码可以以类库的形式封装。
解决方案三:
引用1楼guwei4037的回复:

先把项目的功能点分好,然后根据功能点设计界面(可能一个界面上,也可能几个form)。涉及到的功能代码可以以类库的形式封装。

类的话,会单独的弄的,就是窗体这个,因为我过去习惯是每个功能模块单独调试,调试好了以后一个总界面把它关联起来。窗体里面本身一些连接代码,发送指令到硬件设备,返回结果。不知道我另外窗体不断的返回更新数据到主测试界面这样的不同窗体间更新控件数据是否会比较慢?
解决方案四:
不太明白你的意思,我理解为你有A,B两个模块,都需要一个线程并返回一个信息,然后你在纠结是不是另外再做一个主窗口来容纳AB?
解决方案五:
TabControl控件简单使用http://www.cnblogs.com/duzouzhe/archive/2010/03/14/1685346.html几个窗体也需这般纠结?用的方便、无需过多操作,结果一目了然就行了。你觉得那个布局就怎么布局。界面只要别反人类就行。另外不想开线程,要注意线程访问非该线程创建控件的问题
解决方案六:
UI组件以控件(包括用户控件)为基本单元,需要考虑“控件组合控件=控件”的扩展思路,而不是局限于Form。当有了一些控件之后,至于一个Form如何组合各种控件,那是随时、十秒钟、“粘胶水”的事情。如果你开发UI时不是从控件来考虑,只是考虑Form作为基础,那么也就没有什么灵活性可想了。

时间: 2024-10-03 18:52:19

关于C#项目结构设计问题的相关文章

android,java知识点总结

monkey List ,HashMap ,set ,HashTable ,eventBus ,LitPal ,OkHttp ,Glide ,热修复,线程安全,线程池,6.0以及5.0权限管理,7.0分屏画中画:材料设计语言,蓝牙,wifi,ViewDrapHelper,动画,排序,RandomAccess,Rxjava,注解,设计模式.类设计,项目结构设计.功能设计.泛型数据结构.SqlLiteOpenHelper.内存泄漏.adb命令等等 1.使用aapt进行apk信息的查看 aapt du

Jersey框架的统一异常处理机制分析_java

一.背景 写这边文章源于有朋友问过java中的checked exception和unchecked exception有啥区别,当时我对其的回答是:我编程时仅用RuntimeException.其实,我说句话我是有前提的,确切的应该这么说:在成熟的开发框架下编写业务代码,我只使用或关注RuntimeException.因为,由于框架往往将异常的处理统一封装,这样以便程序员更好的关注业务代码,而业务的一些错误通常是在系统运行期间发生的,因此业务的异常通常被设计为RuntimeException的

结构设计-MVC来写java项目怎么进行详细设计?

问题描述 MVC来写java项目怎么进行详细设计? 比如有个进销存系统,有商品管理,库存管理,账目管理,用户管理,进货退货管理,每个管理有一些方法,有三个用户:库存管理人员只能使用商品管理和库存管理功能.销售人员只能使用进货管理.销售管理.和客户管理功能.财务人员只能使用账目管理功能.最后要用RMI通信. 怎么进行体系结构设计?比如包的结构,主要的类的设计?

软件标准项目文档

原文:http://www.cnblogs.com/Little-Li/archive/2011/06/30/2094230.html 在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性.精确性.清晰性.完整性.灵活性.可追溯性. ◇ 可行性分析报告:说明该软件开发项目的实现在技术上.经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由. ◇ 项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员

应用Rational工具简化基于J2EE项目(五)架构与设计

j2ee|架构|设计|项目 第 5 部分 :架构与设计 Steven Franklin软件设计师和过程专家2004 年 4 月 当这个正在进行的应用 RUP 和其他的 Rational 工具的 J2EE 样例项目从用例转换成架构和设计时(包括数据建模和构建测试设计假想的原型),这个项目已经进入了更加技术的阶段了. 这个系列的第 5 部分首先检查了一下项目的时间进度,然后当我们进入了架构.设计.数据建模和创建原型时,我们已经在下一个阶段进行细化阶段中了. 第 5 部分快照 在第 5 部分演示的工具

Hadoop+Spark+MongoDB+MySQL+C#大数据开发项目最佳实践

随着IT技术的飞速发展,各行各业都已在广泛尝试使用大数据技术提供更稳健和优质的服务.目前,医疗IT系统收集了大量极具价值的数据,但这些历史医疗数据并没有发挥出其应有的价值.为此,本文拟利用医院现有的历史数据,挖掘出有价值的基于统计学的医学规则.知识,并基于这些信息构建专业的临床知识库,提供诊断.处方.用药推荐功能,基于强大的关联推荐能力,极大地提高医疗服务质量,减轻医疗人员的工作强度.   二.Hadoop&Spark  目前大数据处理领域的框架有很多.   从计算的角度上看,主要有MapRed

Android 的一个 MVP 基础项目模板

本文讲的是Android 的一个 MVP 基础项目模板, 迄今为止,我阅读了很多有关Android软件开发中结构设计的文章.以我对他们的认识,比较好的方法是实现**MVP(Model View Presenter)**模式,这对Android开发者也是非常重要的. 我在其他开发者的技术博客和项目中学到了一些有用的东西,现在我决定开发一个基本的项目架构来用于实现我们的客户端软件mobiwise. 我选择了MVP模式作为项目架构,让我们开始了解一下. 什么是MVP? 你能在网上找到很多MVP相关解释

Maven搭建SpringMVC+Hibernate项目详解(转)

  前言      今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这篇主要搭建SpringMVC4.1.4和Hibernate4.3.8,之前也打了好多SpringMVC的,这部分已经非常的熟悉了,毕竟业开发过一年多SpringMVC的,这次持久层采用Hibernate,数据源采用c3p0,数据库暂采用MySQL,主要是想复习一下Hibernate.搭

Hadoop+Spark 大数据开发项目最佳实践

随着IT技术的飞速发展,各行各业都已在广泛尝试使用大数据技术提供更稳健和优质的服务.目前,医疗IT系统收集了大量极具价值的数据,但这些历史医疗数据并没有发挥出其应有的价值.为此 ,本文拟利用医院现有的历史数据,挖掘出有价值的基于统计学的医学规则.知识,并 基于这些信息构建专业的临床知识库,提供诊断.处方.用药推荐功能,基于强大的关联推荐能力,极大地提高医疗服务质量,减轻医疗人员的工作强度. 二.Hadoop&Spark 目前大数据处理领域的框架有很多. 从计算的角度上看,主要有MapReduce