Czy takie rzutowanie na typ generyczny jest zgodne z zasadami dobrego programowania, czy są jakieś "ale" i muszę zmienić koncepcję? Chodzi mi o metodę getParameter().
@Kuriozal Nie, opieram się na wzorcu projektowym strategia, a BlockingStrategy jest tylko jedną z implementacji interfejsu (chociaż w kodzie, który tu wkleiłem nie jest to pokazane). W różnych implementacjach metoda getParameter może zwracać różne typy.
@iohnny unikaj rzutowania na sztywno bo dostaniesz ClassCastException. w przykładzie z linka generyki nie mają sensu. bo nie parameyryzuja w żaden sposób klasy BlockingStrategy. zauważ że metoda getParameter nie jest w żaden sposób powiązana ze swoją klasą i mogłaby być równie dobrze statyczna metoda w jakiejś klasie narzedziowej.
zauważ że metoda getParameter nie jest w żaden sposób powiązana ze swoją klasą i mogłaby być równie dobrze statyczna metoda w jakiejś klasie narzedziowej.
metoda nie jest jeszcze skończona. Będzie używała blockingParameter.
https://pastebin.com/ip3QiiS8
Czy takie rzutowanie na typ generyczny jest zgodne z zasadami dobrego programowania, czy są jakieś "ale" i muszę zmienić koncepcję? Chodzi mi o metodę getParameter().
#naukaprogramowania #java
Ale taguj #java.
Bardzo brzydko to wygląda. Co to w ogóle jest to SomeClass?
Gdzie jest zdefiniowana metoda getField?
Skoro rzutujesz, to zawęź typ genetyczny.
public class BlockingStrategy
Nie pytałem o implementację.
Dzięki za radę. Rozumiem, że to tylko trochę poprawi wygląd kodu i lepiej od nowa przemyśleć całą konstrukcję :P
w przykładzie z linka generyki nie mają sensu. bo nie parameyryzuja w żaden sposób klasy BlockingStrategy. zauważ że metoda getParameter nie jest w żaden sposób powiązana ze swoją klasą i mogłaby być równie dobrze statyczna metoda w jakiejś klasie narzedziowej.
metoda nie jest jeszcze skończona. Będzie używała blockingParameter.