Obiekt boski (God Object, God Class) to antywzorzec polegający na tym, że jedna klasa przejmuje zbyt wiele odpowiedzialności: przechowuje dużo danych, zawiera wiele metod i jest używana przez większość programu. Staje się centrum, od którego zależy cały system.
Jak go rozpoznać?
Klasa ma setki lub tysiące linii, nazwę w rodzaju Manager, Helper czy Utils, wiele niepowiązanych tematycznie metod i jest modyfikowana przy niemal każdej zmianie w projekcie. Zespoły często kłócą się o konflikty w tym jednym pliku.
Dlaczego to problem?
Trudno ją zrozumieć i przetestować, bo wymaga rozbudowanego przygotowania. Zmiana jednej funkcji grozi niezamierzonymi skutkami w innych. Taka klasa utrudnia też ponowne użycie kodu.
Jak rozbić?
Zidentyfikuj grupy powiązanych metod i danych, wydziel je do osobnych klas według zasady pojedynczej odpowiedzialności, a głównej klasie pozostaw rolę koordynatora, np. w formie fasady. Rób to stopniowo, wspierając się testami.
Powiązane pojęcia
Wszystkie hasła z kategorii Programowanie i wzorce projektowe