0

Мне интересно, когда разделить код и компоненты проекта на отдельный проект. Я создаю проект MVC .NET Web, и есть много каталогов/подкаталогов, и я даже не начал проникать в некоторые из фоновых процессов, которые занимают еще больше места.Типичное эмпирическое правило для разделения фрагментов кода на отдельные проекты

Я просто пытаюсь работать над организацией проектов и кодом внутри.

Когда вы должны начать делить свой код на отдельные проекты? Не могли бы вы также привести пример?

Спасибо

ответ

3

Я часто вижу вариацию на что-то вдоль линий:

  • Web App
  • Service Layer
  • Business Layer
  • Уровень данных
  • Unit Tests
  • Интеграция Тесты

Одним из способов получить представление является поиск проектов с открытым исходным кодом asp.net MVC и посмотреть, как они это делают.

Для альтернативного способа выше вы можете проверить CodeCampServer. Они использовали Onion Architecture для компоновки своих проектов.

Архитектура лука отличается от того, что было изложено выше, и у них отличная explanation of why (веб-трансляция).

alt text alt text

Снимки, сделанные с веб-страницы, указанным выше.

Основные принципы архитектуры Onion:

• Приложение построено вокруг независимой объектной модели • Внутренние слои определяют интерфейсы.Внешние слоев реализация интерфейсов • Направление муфты к центра • Всех ядер код приложения может быть скомпилирован и работать отдельно от инфраструктуры

Ссылка Лукового Архитектура с образцом с открытым исходным кодом дает рассуждение позади, когда/почему и конкретный пример, чтобы посмотреть, нравится ли вам это.

0

Чаще всего в моих программах, цель разделения кода в различные проекты для достижения повторного использования кода. На самом деле нет жестких правил, но вот некоторые принципы, которые я пытаюсь выполнить.

Для повторного использования кода я рассматриваю, может ли класс, который я пишу, использовать в другом контексте. Например, если у меня есть веб-сайт ASP.NET, который обменивается данными с базой данных, код доступа к данным может быть повторно использован в приложении на основе Windows, поэтому он является хорошим кандидатом для включения в свою собственную библиотеку.

Я создаю методы расширения для удобного манипулирования строками, потоками или другими распространенными вещами. Эти, я фактор в библиотеку для общего использования во всех приложениях.

Таким образом, постарайтесь организовать ваши проекты в высокосвязные коллекции связанных классов и избегать создания проектов «все-все». Вы обнаружите, что проекты с высокой степенью сплоченности более вероятны для повторного использования, что экономит ваше время и деньги вашего работодателя.