Mówię tutaj o klasach zagnieżdżonych. Zasadniczo mam dwie klasy, które modeluję. Klasa DownloadManager i klasa DownloadThread. Oczywistą koncepcją OOP jest tutaj kompozycja. Jednak kompozycja niekoniecznie oznacza zagnieżdżanie, prawda?
Mam kod, który wygląda mniej więcej tak:
class DownloadThread:
def foo(self):
pass
class DownloadManager():
def __init__(self):
dwld_threads = []
def create_new_thread():
dwld_threads.append(DownloadThread())
Ale teraz zastanawiam się, czy jest sytuacja, w której zagnieżdżanie byłoby lepsze. Coś jak:
class DownloadManager():
class DownloadThread:
def foo(self):
pass
def __init__(self):
dwld_threads = []
def create_new_thread():
dwld_threads.append(DownloadManager.DownloadThread())