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