Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 关于分层体系结构的建议(Win Forms+;WinService;WCF;LINQ to SQL)_Winforms_Wcf_Linq To Sql_Architecture_Windows Services - Fatal编程技术网

Winforms 关于分层体系结构的建议(Win Forms+;WinService;WCF;LINQ to SQL)

Winforms 关于分层体系结构的建议(Win Forms+;WinService;WCF;LINQ to SQL),winforms,wcf,linq-to-sql,architecture,windows-services,Winforms,Wcf,Linq To Sql,Architecture,Windows Services,我将尽可能简短地解释: C#.Windows应用程序,用于文件的类别和说明。 Windows窗体-供用户使用 一个我想保存以备将来使用的库-我为XML、文件、字符串等任务提供了很好的算法。在这种情况下,它们将服务于WF,但我不想将它们保留在表单类中。我希望将它们作为一个单独的库,其中包含名称空间和类。但我不知道整个VS“解决方案”必须是什么类型的项目或补充 Windows服务-获取有关文件更改的通知,并更新WF正在使用的同一数据库 LINQ to SQL-用于数据访问 WCF-我只是把它扔到这里

我将尽可能简短地解释:

C#.Windows应用程序,用于文件的类别和说明。

Windows窗体-供用户使用

一个我想保存以备将来使用的库-我为XML、文件、字符串等任务提供了很好的算法。在这种情况下,它们将服务于WF,但我不想将它们保留在表单类中。我希望将它们作为一个单独的库,其中包含名称空间和类。但我不知道整个VS“解决方案”必须是什么类型的项目或补充

Windows服务-获取有关文件更改的通知,并更新WF正在使用的同一数据库

LINQ to SQL-用于数据访问

WCF-我只是把它扔到这里,因为我似乎需要使用它(来自上一个相关主题的答案):

所以…是的…建筑,建筑。在我的例子中,任何关于良好体系结构的指南都是受欢迎的。现在我知道,在这些对话中,人们开始抛出诸如“业务逻辑”、“持久层”、“模型层”之类的术语。但是我不太明白,所以请具体一点


提前感谢您的帮助

微软有相当广泛的应用程序,他们有大量的信息和代码示例,向您展示如何构造应用程序


至于您的“保存库以备将来使用”。。。您可以创建一个项目,并将其作为引用添加到您希望在其中使用的任何应用程序中

是的,我看到了导游,但并不想了解所有的东西。为了节省时间(就现在!),我只想从别人那里得到一点经验。至于图书馆,好的,我会的。谢谢关于@Grumbler85在您的“三层:持久层逻辑层(例如,处理应用程序逻辑的WCF服务)客户端(服务和表单-触发应用程序逻辑并显示结果)”中的回答。要将其应用于OP中列出的部分,您可能需要将每个层打包到一个单独的项目中——持久性(Linq到SQL类)、逻辑(WCF svc),然后是表示层或表单应用程序(作为表单应用程序项目)。您在哪里看到Windows服务?什么将承载WCF服务?提前感谢。如果您正在创建,您将希望将其作为单独的项目创建。它将是它自己的小程序。请记住,
linqtosql
已经被微软弃用,取而代之的是
实体框架。winforms是一种非常过时的技术,它也落后于更优雅、可扩展、更快和可定制的基于XAML的UI框架(如WPF或WinRT)。所以,在开始你的项目之前,我建议你考虑一下为什么你使用这些旧的技术来开始。LIQ-SQL是SQL Server数据库,它只是一个表BWT.EF很好,但是在这一点上,它太强大,充满了能力。我以后会学的。winforms-wpf很好地处理了声明性代码等等,但我的项目一开始并不是关于惊人的视觉效果,就像EF一样,我稍后会学习它。wpf不仅仅是关于惊人的视觉效果。。。它是一个更好的UI框架,内置了对
数据绑定
(真正的数据绑定)等功能的支持,从而大大简化了代码,并有助于保持代码真正干净。为了在模型和UI之间传递数据,不必编写大量样板代码,这也节省了大量时间。