расположение основного кода
От: AlexDav Россия  
Дата: 02.10.06 10:46
Оценка:
Дело в чем — начал писать небольшой проект — проводник для базы картинок на C#, создал виндовый проект, на форму вынес DataGridWiev ну и пошло поехало кнопочки, менюшки, обработчики.
В какой то момент клянул на список файлов, открыл файл Program а там только создание моей формы, а весь код и есть в модуле этой формы.
Вот я и задумался — нормально это? А если у меня несколько форм — где код должен быть?
Re: расположение основного кода
От: anton_t Россия  
Дата: 02.10.06 12:15
Оценка:
Здравствуйте, AlexDav, Вы писали:

AD>Дело в чем — начал писать небольшой проект — проводник для базы картинок на C#, создал виндовый проект, на форму вынес DataGridWiev ну и пошло поехало кнопочки, менюшки, обработчики.

AD>В какой то момент клянул на список файлов, открыл файл Program а там только создание моей формы, а весь код и есть в модуле этой формы.
AD>Вот я и задумался — нормально это? А если у меня несколько форм — где код должен быть?

Создай ещё один проект, в котором будет вся логика. А формы по мере надобности будут обращаться к этой логике.
Re: расположение основного кода
От: vse_ravno_ya_budu_anonim  
Дата: 02.10.06 12:51
Оценка:
Здравствуйте, AlexDav, Вы писали:

AD>Дело в чем — начал писать небольшой проект — проводник для базы картинок на C#, создал виндовый проект, на форму вынес DataGridWiev ну и пошло поехало кнопочки, менюшки, обработчики.

AD>В какой то момент клянул на список файлов, открыл файл Program а там только создание моей формы, а весь код и есть в модуле этой формы.
AD>Вот я и задумался — нормально это? А если у меня несколько форм — где код должен быть?

Конечно, это не нормально. У Фаулера такой подход называется по-моему табличная модель. Она хороша до поры до времени. А потом — это сплошной гемор. Стремись к тому, чтобы весь твой функционал можно было без проблем вынести, например, в консольное ПО.

Почитай про модель предметной области.
Re[2]: расположение основного кода
От: AlexDav Россия  
Дата: 02.10.06 12:52
Оценка:
Здравствуйте, anton_t, Вы писали:


_>Создай ещё один проект, в котором будет вся логика. А формы по мере надобности будут обращаться к этой логике.


Т.е. текущее состояние кода считается неправильным? Или это все таки нормально когда в проекте одна форма, то и вся логика в ней?
Re: расположение основного кода
От: IB Австрия http://rsdn.ru
Дата: 02.10.06 13:26
Оценка: +1
Здравствуйте, AlexDav, Вы писали:

AD>В какой то момент клянул на список файлов, открыл файл Program а там только создание моей формы, а весь код и есть в модуле этой формы.

Есть такой паттерн Model-View-Presenter (MVP), в девичестве MVC.
http://rsdn.ru/?article/mag/200602/ModelViewPresenter.xml
Автор(ы): Иван Бодягин
Дата: 25.07.2006
В наше время сложно найти разработчика, который не слышал бы о паттерне под названием Model-View-Controller или сокращенно MVC, что вообщем не удивительно, с задачей отделения данных от их представления сталкиваешься практически на каждом проекте. Однако, как ни странно, столь же сложно найти разработчика, который действительно четко себе представляет, что такое на самом деле паттерн MVC и как его можно реализовать в конкретной ситуации. Основная причина такой неоднозначности в том, что по историческим причинам данной аббревиатурой принято называть не один единственный паттерн, а целое семейство паттернов, призванное отделять представление от модели. Произошло это в силу разных обстоятельств. Отчасти из-за того что MVC не просто паттерн, а довольно объемное архитектурное решение, в котором каждый новый разработчик видел что-то свое и ставя во главу угла особенности своего проекта, реализовывал его по своему. Отчасти же из-за возраста данного паттерна, во времена его изобретения и сами приложения, и графические интерфейсы были существенно беднее чем в наше время, с тех пор они сильно эволюционировали и в месте с ними изменялся и сам паттерн. Данная статья посвящена так же одному из паттернов входящих в это семейство, причинам его появления, особенностям применения, перимуществам и недостаткам, а так же описанию сопутствующих паттернов.
(В ближайшее время должна появиться на сайте в полном виде...)
... << RSDN@Home 1.2.0 alpha rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[3]: расположение основного кода
От: IB Австрия http://rsdn.ru
Дата: 02.10.06 13:26
Оценка: +1
Здравствуйте, AlexDav, Вы писали:

AD> Или это все таки нормально когда в проекте одна форма, то и вся логика в ней?

Нет, не нормально...
Ты никогда не сможешь гарантировать, что форма будет одна и что логика приложения не усложнится, а поддерживать такую конструкцию со временем будет только сложнее.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[2]: расположение основного кода
От: IB Австрия http://rsdn.ru
Дата: 02.10.06 13:26
Оценка:
Здравствуйте, vse_ravno_ya_budu_anonim, Вы писали:

___>У Фаулера такой подход называется по-моему табличная модель.

Табличная модель — это немного из другой оперы.

___>Почитай про модель предметной области.

И это оттуда же, и к UI это все имеет довольно посредственное отношение.
Если хочется по данному вопросу проконсультироваться у Фаулера, то курить надо паттерны Passive View, Presentation Model и Supervising Controller, которые суть подвиды хорошо известного паттерна Model-View-Presenter, который, в свою очередь, одна из многочисленных модификаций MVC (Model-View-Controller)... Вообщем, хоть генеалогия и довольно запутана, но откуда ноги торчат вполне очевидно.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[2]: расположение основного кода
От: AlexDav Россия  
Дата: 02.10.06 13:34
Оценка:
Здравствуйте, IB, Вы писали:

IB>Есть такой паттерн Model-View-Presenter (MVP), в девичестве MVC.

IB>http://rsdn.ru/?article/mag/200602/ModelViewPresenter.xml
Автор(ы): Иван Бодягин
Дата: 25.07.2006
В наше время сложно найти разработчика, который не слышал бы о паттерне под названием Model-View-Controller или сокращенно MVC, что вообщем не удивительно, с задачей отделения данных от их представления сталкиваешься практически на каждом проекте. Однако, как ни странно, столь же сложно найти разработчика, который действительно четко себе представляет, что такое на самом деле паттерн MVC и как его можно реализовать в конкретной ситуации. Основная причина такой неоднозначности в том, что по историческим причинам данной аббревиатурой принято называть не один единственный паттерн, а целое семейство паттернов, призванное отделять представление от модели. Произошло это в силу разных обстоятельств. Отчасти из-за того что MVC не просто паттерн, а довольно объемное архитектурное решение, в котором каждый новый разработчик видел что-то свое и ставя во главу угла особенности своего проекта, реализовывал его по своему. Отчасти же из-за возраста данного паттерна, во времена его изобретения и сами приложения, и графические интерфейсы были существенно беднее чем в наше время, с тех пор они сильно эволюционировали и в месте с ними изменялся и сам паттерн. Данная статья посвящена так же одному из паттернов входящих в это семейство, причинам его появления, особенностям применения, перимуществам и недостаткам, а так же описанию сопутствующих паттернов.
(В ближайшее время должна появиться на сайте в полном виде...)


Спасибо займусь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.