ООП потиху закапывают
http://avva.livejournal.com/2581700.html
Все, что было полезного в ООП, унесли в другие парадигмы (если оно раньше еще оттуда не было заимствовано), остальное решили закопать :)
Все, что было полезного в ООП, унесли в другие парадигмы (если оно раньше еще оттуда не было заимствовано), остальное решили закопать :)
no subject
Но "извне" это растяжимое понятие. В Скале есть способ собирать большие модули из небольших кусочков. При этом каждый из кусочков, несмотря на то, что определен отдельно от других (возможно, даже в другом пакете), логически находится в одной песочнице вместе со своими зависимостями (называется cake pattern). Как следствие, для значительной части кода ада вложенности не существует. Т.е. будет не class Foo { Bar.baz }, а class Foo { self: Bar => baz }.
Вы спросите, чем же это отличается от обычных неймспейсов и не-вложенных классов. Тем, что модули в Скале в отличие от пакетов в Джаве являются первоклассными сущностями, т.е. их можно передавать в методы, у них есть контракты, ими можно параметризировать код.
no subject
no subject
Все определения из PartX можно использовать в любом PartY без квалификатора. Чтобы использовать определения из NestedModule, нужно или юзать квалификатор, или написать import NestedModule._.
no subject
Одно хочу сказать - лично я после перехода с сишарпа на скалу стал писать гораздо меньше импортов.
no subject
Мне кажется, "жутко" тут получается потому, что незнакомо.
no subject
no subject
no subject
no subject
no subject
no subject
no subject