构建C#s应用程序的正确方法(CF.NET3.5),我需要建议

The right way to build a c##39;s app (CF .NET 3.5), i need advice(构建C#s应用程序的正确方法(CF.NET3.5),我需要建议)
本文介绍了构建C#s应用程序的正确方法(CF.NET3.5),我需要建议的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在过去的两年里,我为CF.NET3.5开发了应用程序,以便在仓库的便携设备(Windows Mobile)上运行。 从一开始,我就跳到了这个过程中,犯了很多错误,我正在逐渐纠正这些错误。已经发布的应用程序是这样制作的: 启动整个过程的主表单,该过程自动创建数据表单,该数据表单将在整个时间内保持活动状态。该数据表单将保存用户将插入或从服务器请求的所有数据。其他表单基本上是数据的视图,带有操作它们的方法。

它是有效的,但是……我这样做正确吗?或许我错过了一些非常重要的东西?

推荐答案

因此,您创建了一个数据表单,并且像使用内存一样使用它。您从不显示数据,只是将其存储在那里以供访问。

如果有人不得不接替你的工作(比如你离开公司或去世),他们会非常讨厌你的。

更好的方法是创建一个包含所有这些数据的类。

好的方面是,因为您已经有了一个数据表单,所以您可能已经知道了一切是如何组织的!

现在,只需使用数据知识来创建您可以读取和写入类。

如果您有相似项的组,请创建您的主类将包含的其他类。

如果您有几个类似的项目,请创建这些项目的公共可访问列表。

可以简单到极致,也可以复杂到你想要的程度!

考虑这些类,它们都足够通用,可以根据需要进行修改,并演示添加的一些额外内容:

public class DataForm {

  private GroupedItem m_item2;
  public event EventHandler Item2Changed;

  public DataForm() { // this is your constructor
    Item1 = new GroupedItem();
    Item2 = new GroupedItem();
    ItemCollection = new GroupCollectionItems("Group1");
  }

  public float Value1 { get; set; }
  public float Value2 { get; set; }

  public GroupedItem Item1 { get; set; }

  public GroupedItem Item2 {
    get { return m_item2; }
    set {
      if (m_item2 != value) {
        m_item2 = value;
        if (Item2Changed != null) {
          Item2Changed(this, EventArgs.Empty); // notify whoever is listening for the change
        }
      }
    }
  }

  public GroupCollectionItems ItemCollection { get; set; }

}

public class GroupedItem {

  public GroupedItem() { // this is your constructor
  }

  public string Name { get; set; }

  public object Value { get; set; }

}

public class GroupCollectionItem {

  private GroupCollectionItem() { // this is your constructor
  }

  public static GroupCollectionItem Create(string groupName, string itemName, object itemValue) {
    var item = new GroupCollectionItem() {
      Group = groupName,
      Name = itemName,
      Value = itemValue
    };
    return item;
  }

  public string Group { get; private set; }

  public string Name { get; private set; }

  public object Value { get; set; }

}

public class GroupCollectionItems : List<GroupCollectionItem> {

  public GroupCollectionItems(string name) { // this is your constructor
    Name = name;
  }

  public string Name { get; private set; }

}

这篇关于构建C#s应用程序的正确方法(CF.NET3.5),我需要建议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)