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

时间:2016-06-13 19:33:56

标签: electron atom-editor

我是.net桌面应用开发者。我使用c#和WPF。我使用SQL Server作为我的数据库。

现在我想学习电子,node.js,并希望用HTML,CSS和Javascript编写代码。此外,由于上面提到的一切都是开源/免费的,我也会更改我的数据库。现在我将使用MySQL。

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

无论如何,我只想做出这样的区分,希望能够改善你的搜索结果;你可能会在npmjs.org这样的地方找到更好的搜索“MVC”而不是“n-tier”。

有几种可用的MVC框架,它们应该可以直接用于Electron开发。 Backbone很受欢迎,也是第一个想到的,但也有很多很多其他的。

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

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

迁移到Node.js可能有点压倒性,并且会有很多信息要吞下去。如果我能提供两个在我自己的旅程中非常宝贵的提示,我会说:

  1. 遵守Node.js及其社区,不要试图强迫它符合您的要求。
  2. 始终尽量避免编写代码。你可以想到写的任何东西,通用的,已经编写过,可以在NPMjs.org上找到。实用程序库,框架等。它不得不学习别人的代码,但它会带来好处,特别是在开源版本得到很好支持和/或拥有大型社区的情况下。
  3. 另外,为了在#1上更进一步..你可能会发现在Node.js圈子中,NoSQL(尤其是MongoDB)通常比MySQL更受欢迎。对于我们这些在SQL上长大的人来说,这是另一种心灵弯曲,但至少应该仔细考虑它。

    祝你好运,