适用于大型应用的C#架构

时间:2010-06-23 17:42:35

标签: c# .net entity-framework

您能否告诉我一些关于在c#中思考大型应用程序的教程/书籍。 我曾经使用过3层,但我需要更具体的东西:

一种设计面板的方法,以便特定用户可以加载特定的面板和特定的dll 数据库管理,以便在用户修改条目时,其他人无法修改该条目 我应该使用实体框架还是应该使用数据库和类创建进入旧学校

上述任何链接都将非常感谢

非常感谢!

8 个答案:

答案 0 :(得分:4)

有一个广泛的主题,但有两本书,无论你在做什么语言或项目的细节,我都建议你阅读:

如果您对如何完成某些事情有具体问题,我会在此处发布或谷歌搜索。

答案 1 :(得分:3)

Sharp Architecture就是这样一种架构。它非常详细,并且已经进行了很多工作。

答案 2 :(得分:3)

答案 3 :(得分:3)

这不会被一本书或教程所覆盖,相信我。您需要决定UI框架,数据访问技术,模式和整体架构。当然,您需要深入了解.NET框架,以及CLR如何工作。这不是C#特有的。由于您具有UI自定义(Panels)要求,因此WPF绝对是UI框架的更好候选者。

话虽如此 -

  • 对于C#:Pro C# 2010 and the .NET 4 Platform

  • .NET& CLR:CLR via C#

  • UI Framework - WPF:Pro WPF in C# 2010

  • 在WPF中使用MVVM。 MVVM将使您保持Separation of Concern的正确性。您可以遵循Microsoft的Prism指南。对于具有复杂UI要求的大型应用程序,Prism是更好的选择。您可能需要使用依赖注入。 MEF可以与MVVM& amp;棱镜。

  • 是的,Entity Framework可以处理并发问题,但它几乎可以在所有数据访问框架中使用。实体框架提供了许多其他功能,但在使用它时,您应该清楚地知道自己在做什么。 Programming Entity Framework肯定会有所帮助。

答案 4 :(得分:2)

关于面板/ UI架构,查看Prism(来自Microsoft模式和实践)可能很有用。它是处理复合UI的架构/库集,其中UI在运行时加载并由独立的通信部分组成。一个注意事项,它是为WPF或Silverlight使用而构建的;有一个与WinForms具有类似功能的旧库,名为“CAB”,不再受支持。

就数据访问而言,听起来您正在寻求在打开记录以在UI中进行编辑时实现活动记录锁定;这是您使用的实际数据访问代码的独立功能。如果您使用直接ADO.NET而不是EF,则可能更容易实现数据库级锁定,这会增加抽象层。

答案 5 :(得分:0)

Microsoft .NET: Architecting Applications for the Enterprise - 有一个非常好的代码示例,并且有一章关于并发

Professional Enterprise .NET

ASP.NET 3.5 Website Programming: Problem - Design - Solution

我想,没有任何在线资源可以与这些书的复杂性相抗衡。

答案 6 :(得分:0)

我带着这些问题去预定Jeffrey Richter's CLR via C#本书。它将从您的类构造如何影响堆栈/堆上的内存到这些类型的讨论的最佳实践。特别是在运行中装载组件和实现此目的的最佳方法。

这也将使你的技能提升一个档次,杰夫是一位伟大的作家。

我推荐这本书给我认识的每个C#开发人员,他们总是会更好。那是我们都希望的吗?

祝你好运!

答案 7 :(得分:0)

如果您想快速学习并快速掌握技术,我建议您使用Pluralsight帐户,因为这将涵盖您需要的技术,并突出显示您可能没有听说过的其他技术。每月订阅的费用与一本体面的书相同。

Pluralsight.com