【问题标题】:How big can a class or class structure be and be practical? [duplicate]一个班级或班级结构可以有多大并且实用? [复制]
【发布时间】:2013-04-30 17:54:24
【问题描述】:

如果我想在一个类中放置几千个左右的属性,.Net 框架可以处理吗?有没有推荐的方法来管理一个类中的大量属性?

我为什么要问?

我们正在构建通过模拟器抓取数据并将数据输入大型机屏幕的应用程序。

如果我在我们当前的编程方法下获取客户地址,它看起来像这样

    GoToScreen "INFO","",customerNbr

    Dim custAddr as String = MainFrame.ReadScreenPosition(10,2,50)

在我的完美世界里你有

    Dim custAddr as String = MainFrame.CustomerAddress

这里 MainFrame 类已经知道在哪里可以找到客户地址的屏幕和位置,而开发人员所做的只是通过智能感知中的属性列表进行选择。 BA 不需要每次将所有字段的位置都定位到规范中。

有没有更好的方法来做到这一点?

【问题讨论】:

  • 危险的史密斯医生! -- 你不需要所有这些属性。请改用键/值集合。
  • 屏幕位置难道不是 BA 需要一无所知的实现细节吗?您肯定会在某些时候需要一个 FieldName 到屏幕坐标的映射,但是在规范阶段呢?为什么 BA 不能说 {INFO}.{CustomerAddress} ?
  • 我宁愿留下网名。可以预见的是,我们可以在模拟器屏幕抓取之外获取我们的数据。如果那是屏幕名称,那将只是代码中的死物。如果可能的话,我想避免这种情况
  • 300 行是最佳选择。

标签: vb.net design-patterns


【解决方案1】:

如果您在屏幕上抓取数千个属性并将它们映射到属性,那么您的代码将很容易更改。对大型机屏幕的小改动需要重新编译您的代码。

您最好使用基于元数据的方法。例如,将屏幕映射信息存储在 XML 文件或数据库中,并通过(例如)一个字典公开它,该字典的键是您当前用作属性名称的关键字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多