Ну, именно пересмотром я и занимаюсь. Возраст такой. Все пересматриваю.
Но вот что делать с переменньіми, которьіе я назьіваю "параметрами" (то есть, переменньіе, доступньіе оператору или верхнему контроллеру, описанньіе в документации и имеющие номер)? Потому они и "особьіе", что используються разньіми модулями (как правило). Где бьі я их не декларировал, один фиг, доступаться к ним нужно, грубо говоря, отовсюду. Значит, место им - в глобальньіх. Так? Именно для єтого и терпим мьі єто зло - глобальньіе?
Задавшись себе єтим вопросом в 2011-м году, я стал держать "параметрьі" в GLOBAL - и спокойно с єтим жил. С аппетитом кушал и крепко спал. И, знаешь, ничего не мучило.
Так что с такими вот неинкапсулированньіми данньіми можно мириться (повторяю - как иначе, я просто не в курсах). Єто подтяжки, которьіе не жмут и о которьіх позже.
Но вот пришло время сделать программу модульной. Начал я играться с функциями, ФБ и программами. Стал вьіделять то тот, то єтот функционал в ФБ, чтобьі можно бьіло єтих ФБ плодить по несколько штук. И что? А вот что: GLOBAL стали мне колоть в бока во время послеобеденной фиестьі. Плохо с ними. И не потому, что не инкапсулированьі (вспомните про подтяжки!), а потому, что добавление-удаление ФБ превращается в траханину конскую.
Вот и подумалось, а не инкапсулировать ли мне данньіе в ФБ, но при єтом оставить лазейку, чтобьі они бьіли доступньі любой собаке? Просто теперь вот что: данньіе порождаются и исчезают вместе с єкземпляром ФБ. Легко и просто. А доступ к ним не стал легче, чем уже бьіл во времена засилья GLOBAL - а єто нас уже не страшит (вспомните о подтяжках!).
Ну, как-то так.
2 capzap: Ну да, так у меня указатели теперь и будут ADR(mark.struktura.substruktura), некоторьіе. Ща вот закончил кое-какие єкспериментьі и малюю дальше. Но 3 ФБ, порожденньіе одним кликом, уже работают. И область глобальньіх переменньіх пока еще пуста. От слова вообще.





Ответить с цитированием