2012-04-27 8 views
5

Czy istnieje wzorzec projektowy, który pozwala budować fundamenty komponentów pomagających rozwiązać problemy związane z projektem Eulera? Rozwiązałem ~ 30 problemów - i stwierdziłem, że będę musiał ponownie użyć funkcji, która została wcześniej napisana (np. Sprawdzanie pierwotności). Zamiast pisać statyczne metody w klasie narzędziowej, myślałem o interfejsie kalkulatora - implementowanym przez różne konkretne klasy, które rozwiążą różne problemy podrzędne. Mógłbym wtedy na tym oprzeć, ponieważ rozwiązuję coraz bardziej złożone problemy - może? Czy ktoś ma jakieś dobre sugestie? Rozwiązuję problemy w Javie.Projekt Euler Wzorzec projektowy

+3

Do jakiego końca? Tylko po to, aby uzyskać ciepłe i rozmyte uczucie, robiąc to w sposób zorientowany na obiekt (tm)? Co jest nie tak z metodami statycznymi? – delnan

+0

Przypuszczam, że masz rację. Po prostu czujesz, że może być napisana bardziej elegancko? Wydaje się nieporęczne mieć mnóstwo statycznych metod. –

+0

Nie sądzę, że mamy wystarczająco dużo informacji, aby odpowiedzieć na twoje pytanie. – toto2

Odpowiedz

9

Przydaje się kilka przydatnych funkcji, takich jak generowanie liczb pierwszych. Możesz przechowywać w nich plik z przydatnymi funkcjami. Poza tym nie sądzę, że jest jakaś korzyść. Problemy z projektem Eulera dotyczą raczej matematyki, niż programowania złożonego. Oczekuję, że jeśli napiszesz dużo kodu, robisz to źle.

1

Klasycznym wzorem dla tego rodzaju rzeczy jest wzór szablonu, ale można go zbudować myśląc w innych wzorach projektowych, takich jak na przykład Visitor, to zależy od Twoich potrzeb i gustu. Może ci się przydać ten link: Template method pattern

Powiązane problemy