【问题标题】:How to use n-tier application development如何使用 n 层应用程序开发
【发布时间】:2016-06-13 19:33:55
【问题描述】:

我是一名 .net 桌面应用程序开发人员。我使用 c# 和 WPF。我使用 SQL Server 作为我的数据库。

现在我想学习 electron、node.js 并想用 HTML、CSS 和 Javascript 编写代码。此外,由于上述所有内容都是开源/免费的,我也会更改我的数据库。现在我将使用 MySQL。

在 .net 中,我们使用的是 n 层应用程序开发。我知道 n 层应用程序开发并不特定于 .net,所以我认为使用 Atom 作为开发工具的 electron、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 个项目。

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

【问题讨论】:

    标签: electron atom-editor


    【解决方案1】:

    我想我已经知道它 10 年了,但从未听说过它被称为“n 层”,因此不得不查找它。 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 上找到。实用程序库、框架等。不得不学习别人的代码很糟糕,但它会带来好处,尤其是在开源版本得到很好的支持和/或拥有庞大的社区的情况下。

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

    祝你好运,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-22
      相关资源
      最近更新 更多