【问题标题】:Is there any good examples or frameworks that can teach me n-tier development? [closed]有没有什么好的例子或框架可以教我 n 层开发? [关闭]
【发布时间】:2009-08-15 17:47:43
【问题描述】:

标题说明了一切,我需要看看其他人如何解决这个问题才能掌握它。 WebForm 应用程序对我没有帮助,因为我不懂 WebForms,而且它真的会让我(如果可能的话)更加困惑。

如果这样的示例或框架能够与实体框架相结合,它会震撼我的世界。

编辑 - 添加了一些信息:

WinForms 我很熟悉,这就是为什么我希望有一个可以与之相关的示例。

我很难理解如何从我的模型中获取不同的结构给我的用户。从模型中获取纯数据是小菜一碟,将表单中的事件传递回我的“控制器”也很容易,因此模型得到了它的数据。

对于一种数据模型,我最终得到了 5 个不同的 DTO 对象,因为它们需要不同的附加数据。如果这代表我的解决方案,我最终会得到大约 40 种不同的视图界面,​​然后甚至很难命名它们。

因此,通过查看其他人如何解决我的问题,我希望能够确定我自己的解决方案,因为现在我不确定我是否遗漏了什么并且做错了。

【问题讨论】:

    标签: c# .net winforms design-patterns entity-framework


    【解决方案1】:

    一个很好的简单起点是编写一个 WinForms(不是 WebForms)客户端,它与 .NET Web 服务通信,来回传递一些基本数据。尝试找出客户端和服务器上的缓存策略。熟悉引用 Web 服务和代理类。考虑验证和错误处理。

    一旦您对基本 Web 服务的工作方式感到满意,就可以将其提升到一个新的水平并阅读本书Expert Business Objects by Rockford Lhockta。本书将带您了解如何创建 n 层业务对象以及开发它们时将面临的所有问题。他开发了一个为客户端、Web 和服务应用程序提供对象的 n 层框架。相信我,这可不是一件小事。

    祝你好运!

    【讨论】:

      【解决方案2】:

      有些人不同意这是多层的,但它向您展示了关注点的分离和用于解耦层的技术。

      koossery.MVCwin:用于 winform .NET 应用程序的 MVC 开源框架 http://koosserymvcwin.codeplex.com/Wiki/View.aspx?title=koossery.MVCwin%20Overview&referringTitle=Home

      还有这篇文章,在Winforms中有例子:

      分层架构中的实体框架
      http://msdn.microsoft.com/en-us/magazine/cc700340.aspx

      【讨论】:

      • 我真的很喜欢实体示例。我现在看到我并不太远,但我可能需要重新考虑我的复杂性......谢谢。 :)
      【解决方案3】:

      查看patterns & practices Application Architecture Guide 2.0。不错,全面,免费。 :) 它涉及到一个示例项目Layered Architecture Sample for .NET

      【讨论】:

      • 这实际上很有帮助。当我有更多的时间时,我会深入研究这个。
      【解决方案4】:

      我不清楚您在理解 n 层架构方面可能遇到什么问题?听起来您已经看过 WinForms 并发现它令人生畏。这是从如何在 WinForms 中发生某些事情的角度来看的吗?或者从为什么人们通常会使用 n 层架构的角度来看。

      研究框架的一个问题是它们代表了经过深思熟虑和精心设计的成果(我们希望 :-)。他们倾向于故意隐藏很多复杂性...将您的代码放在这里,相信我们,我们会照顾其余的...所以如果您想了解为什么,您需要了解框架的大量内部结构。对于我们这些大脑一般大小的人来说,这确实是一个很大的要求。

      所以在一般层面上,你有没有看过文章sych为this?

      如果您已经过了那个阶段,那么我认为您需要耐心并花时间考虑每一层。 n 层应用程序的部分意义在于,每一层都可以被视为一个单独的问题。理解从富 UI 中的 Javascript 到 SQL 和存储过程以及介于两者之间的所有层的所有内容是一个相当大的要求。因此,请准备好依次处理每一项。

      你说你不懂 WinForms。你认为其他框架会更容易吗?假设您完成了诸如this 之类的教程,您在什么时候遇到了困难?

      【讨论】:

        【解决方案5】:

        在您的情况下,我不会真正从 Winforms 开始。 Winforms 太旧了,现在使用它不是一个好主意!这将是浪费时间。

        查看此链接:

        http://layersample.codeplex.com/

        我希望这对你有更多帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-26
          • 2011-02-20
          相关资源
          最近更新 更多