.net 通常如何构建数据驱动的应用程序

.net 通常如何构建数据驱动的应用程序,.net,wpf,data-binding,datagrid,.net,Wpf,Data Binding,Datagrid,我是一个在过去一个月里学习WPF的新手.net程序员。从一开始我就感到困惑的一件事是如何构建实时数据驱动的应用程序。我从一个基本的应用程序开始,在这个应用程序中,我需要将数据绑定到一个datagrid,该datagrid大约有10列。我在所有教程中看到的数据绑定的常见方式是,它们有一个示例数据,用于构建业务对象(最多两个/三个字段)。但是当涉及到处理较大的数据对象时,他们会为所有10/15字段编写getter/setter吗?因此,我更喜欢直接将DataGrid绑定到DataTables,这涉及

我是一个在过去一个月里学习WPF的新手.net程序员。从一开始我就感到困惑的一件事是如何构建实时数据驱动的应用程序。我从一个基本的应用程序开始,在这个应用程序中,我需要将数据绑定到一个datagrid,该datagrid大约有10列。我在所有教程中看到的数据绑定的常见方式是,它们有一个示例数据,用于构建业务对象(最多两个/三个字段)。但是当涉及到处理较大的数据对象时,他们会为所有10/15字段编写getter/setter吗?因此,我更喜欢直接将DataGrid绑定到DataTables,这涉及的代码更少。但这种方法可能会错过一些优势,比如在源代码/集合更改时得到通知等。我不知道实时应用程序构建。如果我能得到这方面的指导,那就太好了。

这些可能会有帮助:


这些可能有帮助:


我在DataGrid中没有超过15-20列的经验,但为此我为属性创建了getter和setter

创建一个用INotifyChanged作为属性模板的代码段当然也有帮助


它还取决于从何处获取对象。在我做过的一个项目中,实体来自实体框架,它在属性上实现了INotifyPropertyChanged,因此在这种情况下,我不需要编写包装属性。我可以将entities属性直接绑定到datagrid的列。

我在datagrid中没有超过15-20列的经验,但为此我为属性创建了getter和setter

创建一个用INotifyChanged作为属性模板的代码段当然也有帮助


它还取决于从何处获取对象。在我做过的一个项目中,实体来自实体框架,它在属性上实现了INotifyPropertyChanged,因此在这种情况下,我不需要编写包装属性。我可以将实体属性直接绑定到datagrid的列。

开发数据驱动的应用程序没有灵丹妙药。我以使用SOA风格的应用程序结构编写企业资源规划应用程序为生,我可以向您保证,我从不直接使用DataTables:-)。如果您只有一个用户并且数据量有限,那么DataTables就可以了。一旦添加第二个用户。。。您应该远离数据表(和数据集等)

但为了回答您的问题——当我有一个包含许多属性的对象的大型数据集时,我倾向于最多显示10列——如果有更多属性,我将它们放在详细信息部分/单独的详细信息视图中。然后,我将各个列绑定到对象的10个(大约)最重要的属性

我仅将DataGrid(读写表格数据)用于具有相当简单对象的非常小的集合—通常是父对象的集合属性。在其他任何地方,我都使用列表框或列表视图,只显示数据(只读),然后使用详细信息部分创建/更新单个项目。这使得处理CRUD(创建/读取/更新/删除)-与数据库(或您拥有的任何数据存储)之间的操作变得更加容易

从WPF开始,可能会有很多可能性,但我建议您在某个时候看看M-V-VM,以真正利用WPF的功能(和简单性)。我写了一个十篇博文的博客系列,作为一种方法——开始。如果你刚刚开始,它可能比你的水平稍高一点,但把它留到你无法入睡的某一天…:-)


希望这至少能给你一些提示:-)

开发数据驱动的应用程序没有灵丹妙药。我以使用SOA风格的应用程序结构编写企业资源规划应用程序为生,我可以向您保证,我从不直接使用DataTables:-)。如果您只有一个用户并且数据量有限,那么DataTables就可以了。一旦添加第二个用户。。。您应该远离数据表(和数据集等)

但为了回答您的问题——当我有一个包含许多属性的对象的大型数据集时,我倾向于最多显示10列——如果有更多属性,我将它们放在详细信息部分/单独的详细信息视图中。然后,我将各个列绑定到对象的10个(大约)最重要的属性

我仅将DataGrid(读写表格数据)用于具有相当简单对象的非常小的集合—通常是父对象的集合属性。在其他任何地方,我都使用列表框或列表视图,只显示数据(只读),然后使用详细信息部分创建/更新单个项目。这使得处理CRUD(创建/读取/更新/删除)-与数据库(或您拥有的任何数据存储)之间的操作变得更加容易

从WPF开始,可能会有很多可能性,但我建议您在某个时候看看M-V-VM,以真正利用WPF的功能(和简单性)。我写了一个十篇博文的博客系列,作为一种方法——开始。如果你刚刚开始,它可能比你的水平稍高一点,但把它留到你无法入睡的某一天…:-)


希望这至少能给您一些提示:-)

通常在大型企业应用程序中,您的业务对象(BO)具有8-10个属性(字段)。当DB中的表变得更大时,进行规范化以保持列数更少,并创建不同的表(通过外键连接);Bo的情况也是如此,它们的设计(使用各种OOP的概念)使每个Bo都具有所有相关的属性,并且具有可维护的大小。大型BO将是这些小型BO的组合。这增强了可用性,同时您不必处理BO的大量属性。

通常在大型企业应用程序中,您有业务