如何设计从'用户友好的'UI

本文关键字:UI 用户 | 更新日期: 2023-09-27 18:12:10

我继承了一个c# (wpf)项目,其中部分代码是一个用户友好的UI(列表框,单选按钮,滑块等),供非SQL人员创建SQL查询语句…然后查询数据库并返回结果。

创建SQL的代码基本上遍历UI组件并连接字符串。

我正在缓慢地发现代码中的bug和'或对需要的东西的误解。

我想更新代码到一个更优雅和可维护的状态。有没有:

  • "设计模式"为这个?
  • 最佳实践?
  • 好的代码示例?

谢谢

如何设计从'用户友好的'UI

当。net刚起步的时候,很多人都写过这样的代码;确实有很多设计模式可以借鉴。

首先,该项目混合了c#和sql语法。将它们分开,代码大小减半,优雅度加倍。还可以删除sql注入的可能性。

  • 确定最终的sql通常是什么样子。可能是

    select a,b,c from d join e join f where x and y and z
    
  • 在sql端编写一个存储过程来封装它,传递参数x, y, z

  • 更改c#代码以调用存储过程而不是sql语句

  • c#调试现在可以只涉及到查看你在调用sql语句时最终得到的参数

  • 在sql端,下一步是将表连接和任何静态where子句移动到视图中,这将进一步简化存储过程,也给sql server更多的机会来预优化数据选择。

好运

我没有任何特别的设计模式,但是如果我要实现这种东西,我想我会尝试创建一种抽象的表示,我需要使用的每个sql操作;也许有点像SQLite记录查询的方式。

在创建数据结构来表示查询时,以这种方式思考可能会有所帮助。