Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Разделение исходного кода на несколько файлов (http://www.flasher.ru/forum/showthread.php?t=118451)

ibmed 24.11.2008 16:51

Разделение исходного кода на несколько файлов
 
Какое-то время назад начал писать свою первую большую программу. И в определенный момент, разумеется, подошел к тому, что количество строк начало создавать определенные неудобства для навигации.

Захотелось перенести часть функций в отдельный файл, но натолкнулся на встроенные во Flex ограничения - каждый .as-файл должен содержать одно и только одно публично видимое определение класса.

Хотелось-то всего лишь перенести часть функций, которые можно будет вызывать из основного файла.
Собственно, может, я просто еще не научился мыслить в категориях ООП? Неужто, создавать отдельный объект и переносить туда функции в качестве методов?

Может ткнете, где почитать про оформление относительно больших программ с модульной архитектурой?

_Smirnoff 24.11.2008 17:00

Попробуй Гради Буч. ООП.

AlexDesinger 24.11.2008 17:13

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

ibmed 24.11.2008 17:16

Ну на самом деле создать класс и перенести функции как методы - вполне работает. Наверное, это и есть правильно с т.зр. ООП.. :)

litebox 24.11.2008 17:23

Вообще то да, создавать отдельный класс и переносить туда часть функционала, и желательно не просто часть: функции от А до И - в один класс, а от К до Я - в другой. А выделить логические объекты, которые и должны нести в себе (инкапсулировать) определенные функции.
Как пример - автомобиль:
двигатель - один класс (инкапсулирует функции "завести", "заглушить", "естьЛиБензин")
колесо - другой - ("поворотВЛево", "поворотВПраво", "толщинаПротектора")
Все это можно описать в одном классе - "Автомобиль", а можно разбить на вышеперечисленные, и хранить в классе "Автомобиль" интерфейсы на двигатель, колеса и т.д.
Также можно разгрузить класс по средством наследования, когда классы выстраиваются в определенную иерархию, в книгах по С++ любят приводить пример с млекопитающими :)
Овчарка -> собака -> млекопитающее...

Alex Lexcuk 24.11.2008 18:05

Пример хорошо разбивания на классы в топике Аркадной игры и Текстового редактора.
Нехорошего
http://www.dnadillo.dn.ua/fla/robot-3-step.html


Часовой пояс GMT +4, время: 17:45.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.