Sto utilizzando JRuby
.
Nel mio codice Java
, ho una classe chiamata Texture
, in grado di eseguire alcune manipolazioni grafiche.
Nel mio codice Ruby
, di solito dovrò disegnare cose, quindi dovrei chiamare semplicemente Java
's Texture
class per fare il disegno per me.
Tuttavia, ho finito per creare una classe Ruby
chiamata Texture
, che avvolge un'istanza di Java
's Texture
. In qualche modo piace questo (solo un esempio, ma piuttosto preciso):
class Texture
def initialize
@reference = getMeAnInstanceOfAJavaTexture
end
def draw
@reference.draw
end
def rotate
@reference.rotate
end
def clear
@reference.clear
end
end
Come puoi vedere, tutta questa classe di Texture
è ... beh, dì a Java
Texture
di eseguire il lavoro per esso. Solo quello.
Inconsciamente, penso che volevo farlo in questo modo perché sembra carino (lol).
Ora, diventando un po 'più tecnico, un possibile vantaggio che vedo è che in questo modo non devo interagire molto con Java
-side del progetto . La maggior parte del lavoro che farò sarà in Ruby
, e il mantenimento di un'interazione costante tra Ruby
e Java
può essere fonte di confusione. Se creo una classe Ruby
che gestisca questa roba per me, potrei sentirmi più a mio agio in futuro quando dovrò fare un centinaio di trame, ma invece di interagire cento volte con Java
, lo faccio con Ruby
, il mio ambiente principale.
Il mio ragionamento ha un senso o è una scusa debole per fare qualcosa che sembra bello? O forse c'è davvero una buona ragione per fare ciò che ho appena fatto?