2016-06-13 263 views
1

我是.net桌面應用程序開發人員。我使用c#和WPF。我使用SQL Server作爲我的數據庫。如何使用n層應用程序開發

現在我想學習電子,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個單個桌面應用程序的項目。

我想在electron,node.js,HTML,CSS,Javascript和可能的jQuery中做同樣的事情。任何人都可以請指導我如何在上述應用程序中使用n層應用程序開發?如果可能的話,任何人都可以發佈一個小型的演示?

回答

1

我已經知道它有10年了,我想象過,但從來沒有聽說過它被稱爲「n層」,並且必須查找它。 Node.js世界中最常見的多層模式是「MVC」。我猜你已經習慣了那種模式,你自己,或者我已經在.NET界提到過的MVVM模式。

無論如何,我只是想作出這種區別,希望能夠改善您的搜索結果;你可能會在npmjs.org等地方找到更好的匹配搜索「MVC」而不是「n-tier」。

有幾個MVC框架可用,他們應該準備好用於電子開發。中堅是相當流行的,也是第一個想到的,但也有很多很多其他人。

類似於.NET中您可能習慣的多項目結構,您會發現Node.js開發也通常被細分爲多個「模塊」。假設你想以開源方式提供你的項目,你將把它建立爲多個NPM模塊,並將它們推送到NPM ..然後你將在你的主項目中使用npm install xxxxx將它們全部帶入。

如果你不是計劃將模塊作爲開源發佈,您還可以查看npmjs.org的私有模塊服務,或者像我們一樣使用「Sinopia」等解決方案託管您自己的模塊。

遷移到Node.js可能有點壓倒性,並且會有很多信息需要吞噬。如果我可以提供兩個在我自己的旅程中非常寶貴的技巧,我會說:

  1. 符合Node.js及其社區,不要試圖強制它符合你的要求。
  2. 總是儘量避免編寫代碼。幾乎任何東西,通用的,你可以認爲寫的東西都已經寫好,可以在NPMjs.org上找到。實用程序庫,框架等。它吸取必須學習別人的代碼,但它支付紅利,特別是在開源版本支持和/或擁有大型社區的情況下。

此外,要進一步在#1 ..您可能會發現NoSQL(特別是MongoDB)通常比Node.js圈子中的MySQL更受歡迎。對於我們這些在SQL上成長起來的人來說,它是另一種思維彎曲者,但至少應該認真考慮它。

祝你好運,