В какой фазе стека технологии и платформы TOGAF принято решение (java, .net, mobile и т. Д.)

У меня есть вариант ответа Марко Мариани, выраженный в качестве декоратора. Основное отличие состоит в том, что он будет обрабатывать списки объектов, а также безопасно игнорировать некоторые другие типы возвращаемых значений (что очень полезно при написании тестов с использованием mocks):

@decorator
def to_dict(f, *args, **kwargs):
  result = f(*args, **kwargs)
  if is_iterable(result) and not is_dict(result):
    return map(asdict, result)

  return asdict(result)

def asdict(obj):
  return dict((col.name, getattr(obj, col.name))
              for col in class_mapper(obj.__class__).mapped_table.c)

def is_dict(obj):
  return isinstance(obj, dict)

def is_iterable(obj):
  return True if getattr(obj, '__iter__', False) else False
0
задан Pragmatic 13 July 2018 в 05:07
поделиться

1 ответ

0
ответ дан Stan McGeek 29 October 2018 в 16:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: