Каковы элегантные способы сделать микшины в Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Каковы элегантные способы сделать микшины в Python?

Сообщение Anonymous »

мне нужно найти элегантный способ сделать 2 вида микшинов.
сначала:

Код: Выделить всё

class A(object):
def method1(self):
do_something()
Теперь mixinclass должен сделать Method1 сделать это: do_other () -> a.method1 () -> do_smth_else () -т.е. в основном «оберните» более старую функцию. Я почти уверен, что в этом должно быть хорошее решение.

Код: Выделить всё

class B(object):
def method1(self):
do_something()
do_more()
В этом случае я хочу, чтобы Mixinclass2 имел возможность вводить себя между do_something () и do_more () , т.е.: do_something () -> mixin.method1 -> do_more () . Я понимаю, что, вероятно, это потребует изменения класса B - это нормально, просто ищу самые простые способы достижения этого. self.method1 () = self._new_method1 (); и witch _new_method1 () , что вызывает _old_method1 () .
Проблема: множественные микшины будут переименовать в _old_method1 и это было в связи с этим. Фиктивный метод Call_mixin (self): пройти и инъекция между вызовами и определяющим self.call_mixin () . Опять неэлегантно и сломается на нескольких микшинах ..
Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/275 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»