PDA

Просмотр полной версии : Логика построения архитектуры приложения


Огнеметчик
27.06.2009, 17:44
Никак не могу выстроить грамотную архитектуру приложения. Простой пример. Есть программа, которая состоит из трех классов:

Main — основной класс программы.
MyInterface — класс описывающий кнопки и окошки, а также содержащий event listener'ы для каждой кнопки.
MyLogic — класс содержащий методы, описывающие работу программы.

Все классы находятся в безымянном пакете, файлы классов в одной папке.

В конструкторе класса Main создаю экземпляры классов MyInterface (объект my_i) и MyLogic (объект my_l). Далее нужно чтобы при клике по какой-нибудь кнопке (эвент листенер находится в описании класса MyInterface) срабатывал метод описанный в классе MyLogic, но методы класса MyInterface не знают ни о существовании методов класса MyLogic, ни о my_l — экземпляре класса MyLogic по этому приложение с таким кодом не удается скомпилировать из-за ошибок типа "обращение к возможно неопределенному..."

Как правильно организовать структуру программы и взаимодействие между независимыми ее элементами? В идеале, хотелось бы увидеть ссылку на работающий пример или туториал, а то изобретать свой велосипед совсем не хочется.

udaaff
27.06.2009, 18:29
Почитайте про паттерны проектирования. MVC, например.

willis83
27.06.2009, 18:41
Я, лично, считаю что залогом успеха трудного проекта является граммотно построенная иерархия ссылок... но это моё личное, субъективное мнение.
Про MVC читал, но это лишь теория чистой воды, как тут уже говорилось, кристально чистого MVC создать невозможно....

Добавлено через 3 года
Кстати структура программы Огнемётчика, чем-то напоминает MVC, по крайней мере ветер дует в ту же сторону.

ramshteks
27.06.2009, 19:23
шаблон на то и шаблон. На то чтоб его можно было повторить.

firsoff
27.06.2009, 22:39
pureMVC, на риппере давно болтается русский перевод фреймворка.

2morrowMan
27.06.2009, 22:55
Про MVC читал, но это лишь теория чистой воды, как тут уже говорилось, кристально чистого MVC создать невозможно....
А что еще надо ?

pureMVC, на риппере давно болтается русский перевод фреймворка.
Перевод фреймворка? :eek: А документации на русском всего 3 дня.

willis83
27.06.2009, 23:20
2morrowMan, вопрос не в том, что ещё надо, а в том, что это порой усложняет задачу.... по сути каждую структуру успешного проекта можно взять за теорию. Вообщем, я не приверженец таких решений. Каждый проект должен осмысляться на стадии разработки и исходя из его потенциальной масштабируемости/законченности и функционала должна определяться его структура. Усложнять себе задачу основываясь на чужих теориях считаю безперспективным вариантом. Я не против MVC, но порой это не рационально

2morrowMan
28.06.2009, 00:32
Усложнять себе задачу основываясь на чужих теориях считаю безперспективным вариантом.
Думаю, вы скорее усложните себе задачу своей теорией, нежели чужой, проверенной и столь популярной.

Я не против MVC, но порой это не рационально
Конечно. Никто и не говорит что MVC — универсальное решение. Есть еще и другие паттерны, которые можно использовать для конкретной разработки. А что использовать или нет, это решение за разработчиком. И когда человек просит помощи с построением архитектуры, мы же ему не будем подсовывать свои действительно только теории эффективной архитектуры. :)

willis83
28.06.2009, 00:38
полностью согласен со вторым вашим высказыванием