metaclass: (дзедline)
metaclass ([personal profile] metaclass) wrote2013-03-13 10:40 am

ООП потиху закапывают

http://avva.livejournal.com/2581700.html
Все, что было полезного в ООП, унесли в другие парадигмы (если оно раньше еще оттуда не было заимствовано), остальное решили закопать :)

[identity profile] metaclass.livejournal.com 2013-03-13 10:58 am (UTC)(link)
new вызывать же запрещено, это tight coupling.
Лучшие погонщики индусов приказывают в этом случае создавать и явно ссылаться на внутренние классы только внутри их контейнеров, где имя короткое. А снаружи за нас вывод типов пусть думает.
(deleted comment)

[identity profile] xeno-by.livejournal.com 2013-03-13 11:12 am (UTC)(link)
Главное - сокрытие деталей реализации. В жабе или шарпе с интерфейсами это получается очень многословно, но в Скале есть лучший способ, который не требует набивания текста более необходимого. Опять же, гляньте линку.
(deleted comment)

[identity profile] xeno-by.livejournal.com 2013-03-13 12:29 pm (UTC)(link)
Есть импорты так же как и везде, но см. мой ответ ниже.

[identity profile] metaclass.livejournal.com 2013-03-13 11:14 am (UTC)(link)
Насколько я понимаю, в скале объявлять явно типы переменных вообще мало где нужно.

По идее, в параметрах методов могут быть такие проблемы, но методы либо живут там же где и типы, либо работают с супертипами вроде общих трейтов (и живут в этих же трейтах).

Т.е. вариант "модуль А ссылается на глубоко внутренние типы модуля B по полному пути" - это скорее всего, плохо разложили код по модулям, такого в норме быть не должно.