gpt4 book ai didi

c# - 选择 GoF 模式

转载 作者:太空宇宙 更新时间:2023-11-03 16:33:57 26 4
gpt4 key购买 nike

我们目前正在将 Access 应用程序大规模转换为 .NET 前端。许多 Access Apps 都有报表和创建 RDLC(或 Crystal rpt)的方法,并且带有数据集填充和绑定(bind)的主机表单很费力。

因此,我正在创建一个 C# 类库来提供帮助,您为其提供报告名称,其余的由它完成。即目前我可以做:

   ReportViewer.GetReportViewer("ReportXXX")
.AddParameter("UserID", "a983157")
.SetFormSize(new Size(1024, 768))
.SetFormTitle("My Report")
.SetFormLocation(FormStartPosition.CenterScreen)
.Show();

这适用于内置的 RDLC 格式,但我希望将其扩展到 Crystal。但我知道,如果我只是将它添加到同一个类库中,那么我将需要分发 Microsoft Reporting 程序集和 Crystal 程序集。

所以我想把它分成 3 个,一个库用于通用代码,然后一个用于 Microsoft,一个用于 Crystal。消费者不会扩展或添加他们自己的,他们只是向我传递一个报表名称,然后我计算出它是什么类型并构建适当的表单。

我认为它是我想要的构建器模式,但不确定,Bridge 似乎也合适但它不是结构性模式,我认为是我将要做的。

最佳答案

我认为你实际上想要一个 Factory design pattern .公共(public)代码将放在基类中,您将从基类中得到两个派生类,一个用于 Crystal,一个用于 RDLC。工厂将根据报告名称返回适当的对象实例以进行报告。

关于c# - 选择 GoF 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9826554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com