C#大型应用程序架构

4
请问您能否提供一些关于用C#开发大型应用程序的教程或书籍?我已经学过三层架构,但我需要更具体的指导:
1. 如何设计面板,以便为特定用户加载特定面板和特定的dll文件? 2. 如何管理数据库,以便当一个用户修改了某个条目时,其他用户无法修改该条目? 3. 我应该使用实体框架还是老式的数据库和类创建?
如果您有以上内容的任何链接,将不胜感激。
非常感谢!

没有给你的问题点踩,但是你的问题有点模糊,描述也有点...令人困惑。建议将其拆分为一个关于您正在寻找的书籍类型的问题(尽可能具体地描述架构),以及另一个/其他关于您的要求以及您如何看待设计的问题。 - user1228
我看到了entity-framework标签,我认为它真的很慢。 - Omu
1
完全同意Will的观点,但让我们看看能否提供帮助。 - atiyar
8个回答

3

这是一个比较广泛的主题,但是我会推荐两本书,无论你做什么语言或者项目细节:

如果你有具体问题需要解决,可以在这里发帖或者搜索谷歌。


我熟悉设计模式。在GUI方面,我是新手。目前我最想要的是一些关于制作这些面板的指南。 - psu
@psu,您想使用哪种UI框架:Silverlight/WPF/WinForms? - Jerod Houghtelling

2

看起来该域名不再可用了...“不存在的域名” - Talon
@Talon - 我猜这是一个临时的托管问题...该域名仍然注册,似乎托管服务器无法识别它。 - Erik Funkenbusch

2
“这不是一个单一的书或教程可以涵盖的。”
“你需要决定一个UI框架、数据访问技术、模式和整体架构。当然,你需要深入了解.NET框架和CLR的工作原理。这与C#无关。由于你有UI自定义(面板)要求,WPF绝对是比WinForms更好的UI框架候选。”
“话虽如此,我的建议是——”
  • 对于C#:Pro C# 2010和.NET 4平台

  • .NET和CLR:通过C#了解CLR

  • UI框架-WPF:Pro WPF in C# 2010

  • 使用WPF的MVVM。 MVVM将帮助您保持关注点分离。 您可以遵循Microsoft的Prism指南。 对于具有复杂UI要求的大型应用程序,Prism是更好的选择。 您可能需要使用依赖注入。 MEF与MVVM和Prism相辅相成。

  • 是的,Entity Framework可以处理并发问题,但几乎任何其他数据访问框架都可以提供此功能。 Entity Framework提供了许多其他设施,但在使用它时,您应该清楚自己在做什么。 否则,您可能会遇到性能问题。 Programming Entity Framework肯定会有所帮助。



1
关于面板/UI架构,可以参考微软模式和实践中的Prism。这是一种处理复合UI的架构/库,其中UI在运行时加载并由独立通信部分组成。需要注意的是,它是为WPF或Silverlight使用而构建的;有一个旧的库名为“CAB”,具有类似功能的WinForms,但不再受支持。
至于数据访问,听起来您正在寻求在UI中编辑记录时实现活动记录锁定;这是与您使用的实际数据访问代码无关的独立功能。如果您使用直接的ADO.NET而不是EF,则可能更容易实现数据库级别的锁定,因为EF添加了抽象层。

请不要使用CAB。该功能不支持较新版本的Visual Studio,因此,除非您使用VS2008,否则将无法使用框架的"Guidance Automation Toolkit"来生成对象之间的连接。 - Daniel

1

0
如果你想快速学习并迅速掌握技术的核心,我建议你注册Pluralsight账户,因为它可以涵盖你需要了解的技术,并突出其他你可能没有听说过的技术。一个月的订阅费用大约与一本不错的书相当。

Pluralsight.com


0

我在这类问题上的首选书籍是 Jeffrey Richter's CLR via C#。它从你的类构造如何影响堆栈/堆内存一直到最佳实践为这些类型的讨论提供了全面的指导。特别是动态加载程序集以及完成此操作的最佳方法。

它还可以提高您的技能,Jeff是一位出色的作家。

我向我认识的每个C#开发人员推荐这本书,他们总是受益匪浅。这不正是我们所有人所希望的吗?

祝好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接