我怎样才能使这个应用程序可重复使用?

发布于 2024-09-09 01:30:28 字数 340 浏览 6 评论 0原文

我制作了一个 .NET Windows 表单,允许用户查看特定文档并对其进行签名。

我想让它可在未来的应用程序中重复使用。

挑战是:

  1. 要签名的文本需要参数。
  2. 在用户签名之前,文本只是一个查询 - 不会保存在任何地方。
  3. 当用户签名时,他/她签名的文本必须被存储并“冻结”。在将来执行查询时,数据可能会发生变化。
  4. 不同的文档可能具有不同的数据源和不同的参数。但它们在签名时都应该保存在同一个表中,

我只能想到为每个文档创建一个新类,并从具有相同基本功能的同一个类继承。有更好的方法吗?基于参数,我可以加载不同的数据源和模板吗?

I made a .NET Windows form that allows users to view a particular document and sign it.

I want to make it re-usable for future applications.

The challenges are:

  1. The text to be signed requires parameters.
  2. Before the user signs it, the text is just a query - not saved anywhere
  3. When the user signs it, the text he/she signed must be stored and "frozen". In future executions of the query, the data may change
  4. Different documents could have different data sources and different parameters. But they all should be saved in the same table when signed

I can only think of making a new class for every document and inheriting from the same class with the same base functionality. Is there a better way to do this? Based on a parameter, can I load a different data source and template?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

放血 2024-09-16 01:30:28

将窗体转换为控件,打包到它自己的程序集中(可能是 Windows 窗体控件库) - 这样它将可以重用。

然后将尽可能多的非 UI 特定代码保留在单独的类库(或多个库)中;这将允许进一​​步重用 - 对于不同的 UI,例如 WPF 自定义控件库。

就代码的结构而言,MVC(正如 Arseny 指出的那样)绝对是一个选择。

充分利用接口,使其易于集成。

Convert the form into a control, packaged into it's own assembly (probably a Windows Forms Control Library) - that way it will be reusable.

Then keep as much of the non-UI specific code as you can in a separate class library (or libraries); this will allow further re-use - for a different UI such as a WPF Custom Control Library.

As far as how the code is structured, MVC (as Arseny pointed out) is definitely an option.

Make good use of interfaces so that it's easy to integrate with.

夏了南城 2024-09-16 01:30:28

我认为你可以选择MVC模型-视图-控制器或MVP模式。因此,您可以将规则(挑战)保留在控制器层中。这可以帮助您将其他视图(窗口)添加到现有控制器或切换数据模型。

http://en.wikipedia.org/wiki/Model–视图–控制器

I think you may choose MVC model-view -controller or MVP pattern. So you can keep your rules (challenges) in Controler layer. This helps you to add other views(windows) to existed controller or switch data model.

http://en.wikipedia.org/wiki/Model–view–controller

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文