Где разместить функциональный код в приложении WinForms - PullRequest
2 голосов
/ 21 марта 2009

Я новичок в C # и использую VS08, я создал форму, но где мне разместить свой функциональный код?

Сейчас у меня есть 2 файла:
Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

form1.cs - который содержит мою форму.

Ответы [ 4 ]

1 голос
/ 21 марта 2009

Ваш код должен содержаться в классах, составляющих функциональность вашего домена. Program.cs создает экземпляр вашей формы (предложите переименовать из form1 во что-то более наглядное), а ваша форма в свою очередь должна создавать экземпляры классов, которые ей требуются.

Если вы используете привязку данных, добавьте в форму один или несколько источников привязки, задайте их источники данных и выполните привязку во время загрузки формы.

0 голосов
/ 09 февраля 2011

Идеальный шаблон проектирования для Winforms - это Model View Presenter.

Мартин Фаулер разделил его на два варианта http://martinfowler.com/eaaDev/ModelViewPresenter.html

0 голосов
/ 09 февраля 2011

Если вас интересует Разделение проблем , вам нужно либо добавить свойство, либо конструктор вставить ваш функциональный класс (классы) в форму, а не тесно связывать его с вашим функциональный класс.

См. Также Инъекция зависимостей для понимания инъекций в целом

0 голосов
/ 21 марта 2009

Я бы порекомендовал вам создать новый класс, когда вы поместите весь свой функциональный код. Используйте экземпляр этого класса внутри form1.cs (переименуйте его соответствующим образом).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...