当前位置: 首页 > article >正文

一个差劲的软件设计

项目概况:

         之前自己设计并开发了一个用C#开发的上位机软件,整个软件只有一个Form,一个TabControl,3个TabControlPanel,总共100多个lable、textbox、ListBox等控件都放在这3个TabControlPanel里。

问题:

     1. Designer.cs文件特别大,接近1万行。

     2. 增加控件比较难。本来在visual studio里添加一个控件特别简单,拖拽就行。但是,在这个项目里,想添加一个新的按钮,一打开Form文件,就自动修改了Form、.Designer和.resx文件,改了一些位置信息,导致控件错位,所以如果想添加新的控件,都不敢直接在Form上拖拽控件,而是在Designer.cs文件里,直接写新控件的代码,这样导致效率特别低,调个位置,得来回运行好几次才能调好。

   3. 修改和查找控件也比较难。在100多个控件里,想找个一个控件也并不容易。

   4. 有同样的功能写了2遍,维护也困难。

解决方案:

    1. 将页面都拆成多个的用户控件。

    2. 使用成熟的框架。如prism。通过Region切换。


http://www.kler.cn/a/581688.html

相关文章:

  • 物理服务器的作用都有哪些?
  • mysql的binlog,redolog,undolog作用
  • . 从理论到实践:小红书、京东如何玩转大模型
  • 虚拟机 CentOS 9 网络配置
  • 电机控制常见面试问题(六)
  • OTA自动化测试解决方案——实车级OTA测试系统PAVELINK.OTABOX:实车级OTA自动化系统|系统级OTA通道测试系统|系统级OTA压力测试系统|PAVELINK.OTABOX解决方案
  • 编程视界:C++命名空间
  • HTTP 强 Etag 和 弱 Etag
  • perl、python、tcl语法中读写Excel的模块
  • 文档解析:PDF、图片内容deepseek解析出错怎么办?
  • 设备物联网无线通信,ESP32-C3芯片模组方案,智能化联动控制
  • 从零到多页复用:我的WPF MVVM国际化实践
  • 人脸识别之数据集中 PI20 和 CFMT 之间关联的模型预测贝叶斯(Python+论文代码实现)
  • 开发常用软件
  • CVPR2025轨迹预测相关论文以及自动驾驶端到端相关论文
  • Android Service封装实战:基于Binder与接口的高效通信方案
  • 算法手记1
  • 【技术白皮书】内功心法 | 第二部分 | Telnet远程登录的工作原理
  • 使用pytest-xdist让自动化并行测试变得轻松简单
  • uniapp在APP平台(Android/iOS)选择非媒体文件