Sergey Alexandrovich Kryukov
Вопрос слишком широк, чтобы ответить на него каким-либо практически полезным способом. Как будет называться такая статья? Я предполагаю, что "универсальный метод программирования всего во всех видах настольных приложений". Выбор между 1-уровневым (вряд ли это вариант, если вы хотите использовать SQL Server: -)), 2-уровневым и 3-уровневым полностью зависит от ваших требований.
Вам действительно следует начать со сбора требований, их формализации, описания и анализа вариантов использования, затем общего архитектурного эскиза и анализа, прежде чем вы придете к дальнейшим решениям. Тебе нужно пройти через это начальная фаза в процессе разработки; и результаты этой фазы могут очертить вашу архитектуру. Если вы понятия не имеете, как подойти к этой фазе, может быть, вам нужно выбрать 0-уровневую архитектуру? :-)
В то же время, не поймите меня неправильно: я не хочу сказать: "прочитайте некоторые книги о методах разработки программного обеспечения, прежде чем начать". Скорее всего, я бы посоветовал вам самостоятельно попрактиковаться в разработке некоторых доступных проектов и извлечь из этого опыта некоторые уроки. Когда вы почувствуете процесс и научитесь на своих (весьма вероятных) ошибках, вы действительно поймете книги по методам и технологиям. Или, я должен сказать, вы вряд ли поймете их очень хорошо, прежде чем получите некоторую существенную практику в архитектуре, дизайне и разработке.
—СА