Цитата:
Работает ведь и так. Это вопрос этики, или эффективности?
|
Эффективности и архитектуры. Если отовсюду использовать глобальный доступ, и у всего будут ссылки на всех и вся, то приложение превращается в такую задницу, в которой потом сам черт ногу сломит. Его будет невозможно не то что масштабировать, но и просто улучшать или исправлять баги. Будет сложно отыскать кто там реденок, а кто родитель, кто дядя, а кто тетя (образно говоря конечно). Постоянно будут появляться какие-то нелепые ошибки, типа попыток доступа к Null объектам, и будет совершенно непонятно откуда и каким образом они вылезают. Любое подобное приложение заходит в тупик в своем развитии. Но к пониманию как делать правильно нужно еще прийти. Все через это проходят, и у меня в свое время было много таких приложений, и я тоже задавался вопросом почему это нельзя делать везде глобальный доступ или передавать везде ссылки на Main класс, к примеру. И вот потом, когда все эти приложения заканчивались полным коллапсом, я начинал подробнее изучать то, как нужно делать правильно. Неспроста же появились все эти многочисленные шаблоны проектирования. Люди пытались выработать путь, которые будет наиболее правильным в том или ином случае. И наиболее удачные попытки превратились в такие "общепринятые" шаблоны.