如何在.net框架中规划软件..?

时间:2011-04-29 19:55:27

标签: c# .net architecture project-planning

我是一名新手软件开发人员,并且只开发了一些基于Java的应用程序。我想使用.NET框架为Windows制作ERP软件。我决定使用C#进行GUI和逻辑。

我很快就通过了C#,因为我精通Java。我现在也对Windows表单进行了概述。

我有一个与MS SQL服务器交互并运行的小应用程序。但我无法解决一些问题 -

  1. 我应该遵循什么样的架构。 MVC非常适合基于Web的应用程序,但它对桌面应用程序同样有效。另外,文件夹结构和类层次结构应该如何.. ??
  2. 使用哪个数据库服务器.. ?? SQLite在网络上有一些缺点但如果我计划在一个桌面上运行我的应用程序,它会有任何问题.. ??
  3. 如何将数据库服务器与应用程序一起打包.. ??
  4. 如果我打算在CD上销售该软件,我该如何防止多重 用户使用.. ??
  5. 阅读资源的链接非常有用..

2 个答案:

答案 0 :(得分:1)

我建议做一些阅读先生。我发现的一本书给了我一个很好的.NET架构基础就是这本书:

http://www.amazon.com/Microsoft%C2%AE-NET-Architecting-Applications-Pro-Developer/dp/073562609X

进行开发,考虑测试,n层架构,继承,一切。

答案 1 :(得分:0)

一个问题中有很多问题; - )

首先,C#和Java幸运地完全不同。您将能够将大部分知识从Java应用到C# - 甚至许多库都从Java移植到C#。

  1. 对于Windows Forms,MVP(Model-View-Presenter)通常是一个不错的选择。它与MVC略有不同(我甚至会说它是从MVC演变而来的,在某些方面它更好)。使用WPF,我会选择MVVM。另请参阅UI Design Pattern for Windows Forms (like MVVM for WPF)
  2. 使用ADO.NET(或实体框架)时,您可以轻松更改基础数据库技术。尝试将您的数据库代码编写为尽可能通用,以便能够从一个系统切换到另一个系统。
  3. 您可以为此创建一个安装项目(就像您在Java中所做的那样)
  4. 有一些商业解决方案 - 比保护更重要的是混淆以防止反汇编代码(尽管与Java相同)。我想,你会在这里找到很多关于授权的线索。