Форум сайта python.su
857
FishHookТак интерфейс используется у готового экземпляра, при чём тут конструктор?
Но ты не можешь поменять dict на DefaultDict, потому что внезапно в конструкторе появился обязательный аргумент.
FishHookМой зависит только от того, что подаётся снаружи. Следовательно, снаружи я могу заменить просто объект, который, может быть, основывается на словаре dict. При изменении dict (в новой версии языка), я свой класс (сотни классов) не меняю.
а твои не рухнут что ли?
Отредактировано py.user.next (Окт. 6, 2017 06:47:08)
Офлайн
88
А прямые вызовы функций не увеличивает связанность? Или их тоже лучше косвенно вызывать, при том не фиксируя набор аргументов?
Офлайн
857
ShamanПодать мы можем объект, уже созданный. А создать его снаружи можно как угодно. Поэтому прямые вызовы методов связывают только этот объект, который может быть просто абстрактной обёрткой для чего нибудь конкретного. Да даже то, что подаётся в конструктор для агрегации, может быть создано через фабрику, которая конструирует что надо и как надо. Вот наследование может быть применено, чтобы реализовать такую гибкость кода?
А прямые вызовы функций не увеличивает связанность?
ShamanВ питоне, наверное, не получится так сделать, потому что он не функциональный (не задумывался таким изначально), из-за чего оно будет выглядеть некрасиво (непонятно). В функциональных же языках всё сделано для этого: функции подаются снаружи, а внутри функции они объединяются в композицию функций, которая возвращает функцию.
Или их тоже лучше косвенно вызывать, при том не фиксируя набор аргументов?
Отредактировано py.user.next (Окт. 6, 2017 08:18:23)
Офлайн
294
Я поражаюсь, развести срач на ровном месте, это нужно еще уметь.
[code python][/code]
Офлайн
20
PEHDOMКстати буквально позавчера общались с коллегами (cpp девелоперы) они высказывали абсолютно похожее мнение, что и py.user.next по поводу агрегации интерфейсов. Совпадение, не думаю. Возможно дело в колокольне?)
Я поражаюсь, развести срач на ровном месте, это нужно еще уметь.
Офлайн
294
noob_saibotДа нет, дело в том что топикстарету агрегация нахрен не нужна, он спрашивал как ему избавиться от лишней копипасты в классах.
Совпадение, не думаю. Возможно дело в колокольне?)
[code python][/code]
Отредактировано PEHDOM (Окт. 6, 2017 10:08:02)
Офлайн
186
> примерно полгода назад py.user.next узнал о существовании языка go, и очень негативно отзывался по его поводу …. теперь это уже “современный мир программирования”, а остальное все гавно
Офлайн