Często spotykam się z pomocnikami lub klasami Java w języku Java lub jakimkolwiek innym języku. Zadawałem więc sobie pytanie, czy jest to jakiś anty-wzór, a istnienie tego rodzaju klas to po prostu brak braków w projektowaniu i architekturze oprogramowania.
Często te klasy są ograniczone przy użyciu tylko metod statycznych, które robią wiele rzeczy. Ale przede wszystkim jest to zależne od kontekstu i stanowe.
Moje pytanie brzmi: co sądzisz o tego rodzaju statycznych klasach helper / util, ponieważ zaletą jest oczywiście szybkie wywoływanie przy użyciu samej nazwy klasy.
A na jakim poziomie abstrakcji uniknąłbyś korzystania z tego rodzaju klas?
Moim zdaniem słowo kluczowe „static” powinno być dozwolone w deklaracji klasy (Java), a nie w przypadku metod. Moim zdaniem użycie go w ten sposób może być dobrą alternatywą i środkiem do połączenia paradygmatów Procuedural i OO w Javie i uniknięcia niewłaściwego użycia słowa kluczowego.
Dodatki wynikające z odpowiedzi:
Na początku myślę, że łączenie różnych paradygmatów, a nawet używanie języków skryptowych interpretowanych w środowisku wykonawczym w kodzie skompilowanym maszynowo lub maszynowo jest całkowicie legalne.
Z mojego doświadczenia wynika, że w trakcie procesu opracowywania projektu tego rodzaju pomocnicy i narzędzia, czy jak tam się nazywa, rosną i rosną i są wykorzystywane w każdym zapomnianym rogu bazy kodu, która pierwotnie została zaprojektowana jako modułowa i elastyczna. A ze względu na brak czasu na refaktoryzację lub ponowne przemyślenie projektu, z biegiem czasu pogorszysz sytuację.
Myślę, że static
powinienem zostać usunięty z Javy. Zwłaszcza teraz, gdy możliwe jest użycie jeszcze bardziej wyrafinowanych funkcjonalnych elementów językowych.