Если вы впервые работаете с C #, возможно, вам лучше подойти для начала, полностью отделив уровень кода от уровня представления. Я начал с игры с пользовательским интерфейсом в веб-приложениях и приложениях для создания форм, вместо того, чтобы изучать отличные методы кодирования и разделения кода. Если вы начинаете с нуля, вы можете сначала изучить разделение кода и не беспокоиться о том, что собирается делать пользовательский интерфейс.
Короче говоря, ни того, ни другого. Начните с хорошего разделения кода между базой данных и пользовательскими классами данных и переходите оттуда.
Это ни в коем случае не является идеальной иллюстрацией того, как правильно разделить код, но представляет собой просто маркированный список того, как вы могли бы начать работу. Вы хотите выполнить поиск внедрения зависимостей, шаблонов репозитория и т. Д., Чтобы узнать больше о лучших практиках ...
Например, скажем, вы хотите создать приложение диспетчера контактов. Вы знаете, что у вас будет код для вставки, обновления и удаления, а также некоторые поисковые и общие списки контактов.
- Я бы начал с создания вашей БД со всеми полями, которые, как вы знаете, вам нужны.
- Затем я бы добавил несколько фиктивных данных в базу данных.
- Теперь я бы создал слой данных в своем приложении. Вероятно, лучше всего то, что это отдельный проект, который компилируется в простую DLL.
- Теперь, когда у вас есть классы данных, созданные для хранения контактной информации, пришло время создать ваш слой, который будет на самом деле идти и получать данные. Перейдите к своему решению и добавьте новый проект, который будет скомпилирован в DLL.
- Убедитесь, что БД доступна для вашего кода.
а. Linq2SQL
б. Библиотека предприятия
- Создание функций для добавления, редактирования и удаления контактов. Скорее всего, параметром будет объект Contact, который вы создали в # 3.
- Создание функций для поиска и возврата списков контактов. Это должно вернуть список, который создается в # 3 или что-то вроде этого ...
- Добавьте любой слой пользовательского интерфейса поверх этого, ссылаясь на обе библиотеки DLL в вашем проекте пользовательского интерфейса (может быть console, web, win ...)