Как использовать разработку приложений n-уровня

Я разработчик приложений .net. Я использую С# и WPF. Я использовал SQL Server в качестве моей базы данных.

Теперь я хочу изучить электрон, node.js и хотел бы кодировать в HTML, CSS и Javascript. Кроме того, поскольку все упомянутое выше открыто или бесплатно, я тоже изменил бы мою базу данных. Теперь я буду использовать MySQL.

В .net мы использовали разработку приложений n-уровня. Я знаю, что разработка приложений n-уровня не специфична для .net, поэтому я думаю, что это возможно с помощью электрона, 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

Вышеупомянутая структура - всего лишь небольшая демонстрация. В действительности мы использовали услуги WCF и многое другое. У нас всегда было около 20 проектов для одного рабочего приложения.

Я хотел бы сделать то же самое в электроне, node.js, HTML, CSS, Javascript и, если возможно, jQuery. Может ли кто-нибудь, пожалуйста, навестить меня о том, как они используют разработку n-level appliciton в вышеупомянутом приложении? Если возможно, кто-нибудь может отправить небольшую рабочую демо?

Ответ 1

Я знаю об этом в течение 10 лет, я бы предположил, но никогда не слышал об этом как о "n-уровне" и должен был его искать. Наиболее распространенным многоуровневым шаблоном в мире Node.js является "MVC". Я предполагаю, что вы привыкли к этому шаблону, самому себе или шаблону MVVM, который я видел в кругах .NET.

В любом случае, я только хотел сделать это различие в надежде улучшить результаты поиска; вы, вероятно, найдете лучшие хиты с поиском "MVC", чем для "n-level" в таких местах, как npmjs.org.

Существует несколько инфраструктур MVC, и они должны быть готовы к разработке для разработки электрона. Магистраль довольно популярен, и первое, что приходит на ум, но есть и многие, многие другие.

Аналогично многопроектным структурам, к которым вы, вероятно, привыкли в .NET, вы обнаружите, что разработка Node.js также подразделяется на несколько "модулей". Предполагая, что вы хотите предложить свой проект как с открытым исходным кодом, вы будете создавать его как несколько модулей NPM и подталкивать каждый к NPM.. тогда вы будете использовать npm install xxxxx в своем основном проекте, чтобы привести их всех.

Если вы не планируете публиковать свои модули в качестве открытого источника, вы также можете посмотреть в частном модуле npmjs.org или, как и мы, разместить свой собственный, используя такое решение, как "Sinopia".

Переход на Node.js может быть немного подавляющим, и будет много информации, чтобы усвоить. Если бы я мог предложить два совета, которые были неоценимы в моем собственном путешествии, я бы сказал:

  • Соответствуйте Node.js и его сообществу, не пытайтесь принуждать его к тому, чтобы он соответствовал вам.
  • Всегда старайтесь избегать написания кода. Почти что-нибудь, общее, что вы можете думать писать уже написано и доступно на NPMjs.org. Utility libs, frameworks и т.д. Это связано с необходимостью узнать код другого пользователя, но он выплачивает дивиденды, особенно в тех случаях, когда версии с открытым исходным кодом хорошо поддерживают и/или имеют сообщество с большим количеством пользователей.

Кроме того, чтобы сделать еще один шаг на # 1, вы, вероятно, обнаружите, что NoSQL (особенно MongoDB) часто предпочитают MySQL в кругах Node.js. Его еще один умный изгиб для тех из нас, кто вырос на SQL, но вы должны, по крайней мере, внимательно его рассмотреть.

Желаем удачи,