我是.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层应用程序开发?如果可能,任何人都可以发一个小的工作演示??
答案 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圈子中,NoSQL(尤其是MongoDB)通常比MySQL更受欢迎。对于我们这些在SQL上长大的人来说,这是另一种心灵弯曲,但至少应该仔细考虑它。
祝你好运,