Чистая структура проекта AS 3? - PullRequest
1 голос
/ 22 января 2010

Я новичок в разработке AS 3 ... и дело в том, что я всегда сталкиваюсь с проблемами, как структурировать различные представления о состоянии приложения?

Используете ли вы для этого MVC-фреймворк? Я посмотрел на некоторые puremvc, robotlegs, но наши флеш-проекты обычно относительно малы, поэтому мне интересно, не является ли это излишним:)

Ответы [ 4 ]

4 голосов
/ 22 января 2010

Дизайнерские паттерны хороши до тех пор, пока вы не пытаетесь использовать их ради их использования. У меня всегда есть свои взгляды, отдельные от модели, как есть, но редко работаю над чем-то достаточно большим, чтобы оправдать поточную реализацию чего-то вроде PureMVC. На больших проектах тогда да они могут быть выгодны. Сложная часть - решить, насколько «большой» достаточно большой, чтобы использовать их. Вероятно, сводится к опыту, чтобы принять такое решение.

В любом случае, просто убедитесь, что объекты слабо связаны, и что ваша модель и вид не одно и то же. Довольно часто вместо расширения MovieClip я предпочитаю использовать состав и иметь класс , иметь MovieClip. Мне кажется, что это помогает отделить визуальные элементы от данных.

2 голосов
/ 22 января 2010

Если честно, я не фанат применения традиционных шаблонов дизайна для разработки Flash. Если вы пишете чистые классы, тогда вы можете делать все, что вам нравится, но если вы связываете классы с визуальными элементами (например, MovieClips), я считаю, что это правильный способ структурирования вещей (то есть способ, который лучше всего избегает дублирования усилий и сохраняет разделение задач) в конечном итоге определяется тем, как вам нужно составлять и / или вкладывать временные шкалы отображения.

Другими словами, я считаю, что лучше на уровне отображения выяснить, какие вещи в конечном итоге должны быть на одном и том же или на разных временных графиках, а что в конечном итоге нужно будет вкладывать или не вкладывать, а затем решать, какие классы должны расширяться или составлять друг друга потом.

Но учтите, что все это предполагает, что вы делаете вещи, в которых логика тесно связана с элементами дисплея, и это то, что я считаю областью, где светит Flash. Естественно, если вы создаете симулятор ссуды без анимации, скинов или чего-то еще, достаточно разумно просто использовать шаблон MVC и затем наложить статический слой отображения сверху, при этом каждая кнопка указывает на C, а каждое текстовое поле указывает на V. Но тогда это именно то, что вы сделали бы, если бы делали то же самое в Java, или в форме HTML на основе JS, или в любом другом месте. Совет в этом ответе заключается в том, что, как мне кажется, лучше всего работает, когда вы создаете какие-то сильно визуальные вещи, которые не рекомендуется делать во всем, кроме Flash.

2 голосов
/ 22 января 2010

Фреймворк может быть особенно ценным, если вы намереваетесь передать код кому-то еще. Независимо от того, какую среду вы выберете, вы введете общий набор ожидаемых отношений, из которых кто-то может построить понимание кодовой базы.

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

1 голос
/ 22 января 2010

Если вы действительно новичок в AS3 и планируете делать «чистое» кодирование (не используя графический подход, поддерживаемый инструментом разработки Flash, и не погружайтесь в мир Flex), я советую вам не тратить свое время на AS3 и перейдите к Haxe ...

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

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

в моей книге есть один фундаментальный принцип для проектирования программного обеспечения: DRY & KISS - По общему признанию, у меня еще много работы над последним ... :) .. для более конкретных и руководящих принципов я придерживаюсь SOLID и GRASP ... если вы внимательно прочитаете их и поразмышляете над (хорошими) шаблонами, которые вы знаете, вы, вероятно, найдете из-за того, что они включают в себя указанные принципы ... не злоупотребляйте шаблонами ... на самом деле не злоупотребляйте никакими инструментами ... используйте любой инструмент, который лучше всего подходит для работы ...

ИМХО, чистый AS3 предназначен для гиков ... и мне нравится делать чистый AS3 ... или, по крайней мере, я делал ... это, однако, неэффективно и не выгодно со временем ... это хорошо для разработки фреймворков и библиотек. ... но и не для приложений ... Haxe хорош для распределенных кросс-платформенных приложений (и для гиков), подхода Flash Authoring для "модных" визуальных приложений и Flex для классических приложений с преобладающими концепциями пользовательского интерфейса ...

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