如何使用n层应用程序开发

How to use n-tier application development

我是 .net 桌面应用程序开发人员。我使用 C# 和 WPF。我使用 SQL 服务器作为我的数据库。

现在我想学习 electron,node.js 并且想在 HTML、CSS 和 Javascript 中编写代码。此外,由于上面提到的所有内容都是 open-source/free 我也会更改我的数据库。现在我将使用 MySQL.

在 .net 中,我们使用的是 n 层应用程序开发。我知道 n 层应用程序开发并不特定于 .net,所以我认为可以使用 electron、node.js、HTML、CSS、Javascript 使用 Atom 作为开发工具.

在 .net 中,我的项目结构如下:

MySolution
   |--Entities
   |    |--Student.cs
   |    |--Teacher.cs
   |--Repositories
   |    |--RepositoryBase.cs
   |    |--StudentRepository.cs
   |    |--TeacherRepository.cs
   |--WPFApp
   |    |--Window.xaml
   |    |--App.xaml
   |    |--App.config

上述结构只是一个小demo。实际上,我们使用了 WCF 服务等等。对于一个桌面应用程序,我们总是有近 20 个项目。

我想在电子中做同样的事情,node.js、HTML、CSS、Javascript,如果可能的话 jQuery。谁能指导我他们如何在上述应用程序中使用 n 层应用程序开发?如果可能的话,任何人都可以 post 一个小的工作演示吗??

我想我已经知道它 10 年了,但从未听说过它被称为 "n-tier" 并且不得不查找它。 Node.js 世界中最常见的多层模式是 "MVC"。我猜你已经习惯了那种模式,你自己,或者我在 .NET 圈子里看到的 MVVM 模式。

不管怎样,我只是想做出区分,希望能改善您的搜索结果;在 npmjs.org.

这样的地方,搜索 "MVC" 可能会比搜索 "n-tier" 找到更好的结果

有几个可用的 MVC 框架,它们应该可以直接用于 Electron 开发。 Backbone比较流行,第一个想到,但还有很多很多其他的。

类似于您可能在 .NET 中习惯的多项目结构,您会发现 Node.js 开发通常也细分为多个 "modules"。假设你想将你的项目作为开源项目提供,你将把它构建为多个 NPM 模块并将每个模块推送到 NPM.. 然后你将在你的主项目中使用 npm install xxxxx 将它们全部引入。

如果您不打算将您的模块发布为开源模块,您还可以查看 npmjs.org 的私有模块服务,或者像我们一样,使用 [=38= 等解决方案托管您自己的模块].

迁移到 Node.js 可能有点让人不知所措,并且需要消化大量信息。如果我能提供两个在我自己的旅程中非常宝贵的提示,我会说:

  1. 服从 Node.js 及其社区,不要试图强迫它服从你。
  2. 始终尽量避免编写代码。几乎所有您认为可以编写的通用内容都已经编写完毕,并且可以在 NPMjs.org 上找到。实用程序库、框架等。学习别人的代码很糟糕,但它会带来好处,尤其是在开源版本得到很好支持的情况下 and/or 有一个很大的社区。

此外,在 #1 上更进一步......您可能会发现在 [=40] 中,NoSQL(尤其是 MongoDB)通常优于 MySQL =] 圈子。对于我们这些在 SQL 长大的人来说,这又是一个令人费解的问题,但你至少应该仔细考虑一下。

祝你好运,