Как сортировать по зависимости?
У меня есть класс, который имеет список «зависимостей», указывающих на другие классы того же базового типа.
class Foo(Base):
dependencies = []
class Bar(Base):
dependencies = [Foo]
class Baz(Base):
dependencies = [Bar]
Я хотел бы отсортировать экземпляры, которые эти классы генерируют, основываясь на их зависимостях. В моем примере я ожидал, что сначала появятся экземпляры Foo, затем Bar, а затем Baz.
Как лучше всего это отсортировать?