|
|
|||||
Регистрация: Jan 2012
Сообщений: 22
|
разбивка основного класса на модули
Как в Flex3 + AS3 вынести часть кода в отдельный модуль, а то все в одном слишком громоздко получается. Гуглю уже неделю, ничего по теме не нахожу.
Но не так, чтоб тольк остатические методы в отдельный класс, у меня таких почти нет, а чтоб именно методы основного класса с полной видимостью private variables and methods. |
|
|||||
Регистрация: Jul 2011
Сообщений: 67
|
Эммм... Куски кода класса вынести в другой файл, но что-бы это в итоге был один класс, а не разные?
|
|
|||||
хрень какая-то на самом деле.
Если класс получается слишком громоздким то нужно подумать и поделить его на логические составляющие. Из каждой такой составляющей следует сделать отдельный класс, и наладить между ними взаимодействие. Я такую деятельность провожу периодически в своих проектах. Обычно такого не случается, но и на старуху бывает проруха
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
Регистрация: Jan 2012
Сообщений: 22
|
Ну как-то так... можно и вынести в другой класс, но как-то так, чтоб видимость сохранить и чтоб не пришлось потом ко всем переменным дописывать имя класса вначале... Ну вот а ты сам как делаешь, чтоб не было много кода в основном классе?
Хорошо... Будут ли видны методы основного класса из методов дополнительнго? Если в основном классе есть небольшой метод showMessage, который совсем маленький и выносить его в отдельный класс не смысла, но я этот метод вызываю много где, в том числе в тех функциях, которые я хочу вынести в отдельный класс. Можно ли сделать так, чтоб showMessage вызывался как и раньше без приставок (чтоб код не править в миллионе мест) так буд-то он является методом нашего нового класса? Последний раз редактировалось Zebestov; 07.01.2012 в 02:55. |
|
|||||
Регистрация: Jul 2011
Сообщений: 67
|
Если вам нужно что-бы переменная была публичной, то и объявляйте её публичной. Остальные модификаторы доступа нужны что-бы инкапсулировать реализацию в рамках пакета, цепочки наследования или одного класса.
Что-касается приставок и миллионов правок, то FD есть "фича" что-бы заменять повторяющиеся участки кода на новый код. Хотя всё это антипаттерн. |
|
|||||
Modus ponens
|
Я так догадываюсь, вы ищете что-то типа partial из C# - нет, такого нет. Но и писать такие большие классы тоже плохо, и не только потому, что с ними не удобно работать. Плохо еще и потому, что скорее всего такой класс выполняет много функций, которые лучше было бы разделить, с точки зрения планирования проекта в целом.
Самое худшее, что вы можете сделать - есть директива компилятора include она предназначена для того, чтобы во время компиляции собирать код из нескольких файлов. Проблема с ней в том, что ни одна среда разработки не найдет заincludеные исходники - работать так очень неудобно. Лучше, конечно, разбить класс на логические части. Очень часто решением проблемы становятся "состояния" - классы описывающие публичные, и не только методы класса, в зависимости от того, в каком состоянии находится объект - это позволяет сделать код более читаемым. Например, если у вас было: class Foo { private var _flag:Boolean; public function bar():void { if (_flag) { ... } else { ... } } public function baz():void { bar(); } } Таким образом можно избавиться от очень ветвистой логики, повторяющегося кода и т.п.
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Jan 2012
Сообщений: 22
|
Спасибо, wvxvw
Вот тот ответ, который я искал... |
|
|||||
Наследование? И делить код на функциональные части по их смыслу (взаимодействие с сервером, отрисовка, и т.д.) не подходит?
__________________
if (love is true) break my.heart; |
Часовой пояс GMT +4, время: 21:24. |
|
« Предыдущая тема | Следующая тема » |
|
|