因此,在使用一些动态数据元素构建特定解决方案时,我遇到了一定程度的困难……
您可以认为pdf的工作原理非常类似于数据库--除了表和pdf的模式不同之外。不同的字段将进入数据库和pdf。用户将能够编辑某些字段,但不能编辑所有字段。在这里,我正在努力实现UI和逻辑的分离,但我遇到了困难。我的逻辑本质上是必须告诉我的UI要创建什么UI元素以及对它们施加什么限制(required、options等),所以我感觉我是在从我的业务逻辑中创建UI;但我真的不知道如何使用动态数据元素来实现这一点。完成后,我必须写入数据库,然后打印pdf。
你可以把这个问题想象成..。“我有一大堆不同的数据。我需要用不同的数据做不同的事情。我想不出一种通用的方法来做到这一点,而不会造成一些编码上的混乱。”有谁有什么想法吗?
发布于 2010-03-05 03:48:24
您所做的是开发一个应用程序框架,而不是一个应用程序。您可能会受益于查看其他应用程序框架(有十亿个),以了解其他应用程序框架是如何处理问题的。
我现在可以告诉你,你的项目将会成功,这与你设计的处理元信息的方案有多好成正比。Steve McConnell的一般规则,即数据比代码更容易调试,这在很大程度上是此类项目的指导灯塔。
WPF非常非常适合这类事情。我一直在将我自己的应用程序框架从Windows窗体移植到WPF,我对自己不需要编写的代码感到有点惊讶。
发布于 2010-03-05 03:07:13
如果我是你,我会查看用户需要查看/编辑的字段的所有信息,并查看我可以看到的常见主题。考虑到你的问题,我可能会创建一个包含以下内容的类/结构:
struct FieldInfo
{
string FieldName;
string DisplayName;
string DataType;
bool Required;
delegate Validator;
string OldValue;
}
delegate bool Validator(string input, out string message);我将从业务逻辑返回FieldInfo[],然后在UI中使用该数组来确定要向用户显示的内容。这样,即使是验证登录也是您的业务逻辑(使用委托),UI只需决定为每种类型显示哪些元素。您甚至可以更进一步,让FieldInfo结构有一个元素名称,告诉UI该字段使用哪个元素(Textbox、DDL等)。
https://stackoverflow.com/questions/2381917
复制相似问题