Quando utilizzare l'interfaccia?

di il
6 risposte

Quando utilizzare l'interfaccia?

Come da titolo, vorrei sapere quando nasce l'esigenza di creare una interfaccia!?

6 Risposte

  • Re: Quando utilizzare l'interfaccia?

    Io dico la mia, poi magari è sbagliata (probabilmente), ma male non fa, poi magari vengo corretto e imparo
    credo che tale esigenza nasca quando si ha bisogno di una formattazione dei dati da visualizzare oppure quando si ha bisogno o si vuole far interagire l'utente con il nostro programma.
    se è questo che intendi
  • Re: Quando utilizzare l'interfaccia?

    Per prima cosa, @rairana, cosa intendi per interfaccia?

    In ogni caso, la risposta di @KuroKami69 non si avviciana minimamente alla risposta corretta. Diciamo pure che non centra un picchio!

    E' un po' come rispondere alla comanda "come e' il tempo oggi", risposta: "ieri non sono andato in bagno, ho un po' stitichezza!!!!!"

    Ma dal faceto, andiamo sul serio:

    supponi di avere una classe del tipo:
    
    class Stampa {
       print viod stampa(Stringa s){ ... }
    }
    
    con la quale stampare delle stringhe di testo.

    Ora, tu vuoi poter stampare questa stringa sui seguenti dispositivi:

    - sulla console: banale
    - sulla stampante ad aghi, quelle vecchie di una volta
    - sulla telescrivente, quelle ancora piu' vecchie di un'a volta ancora prima della volta di cui sopra
    - sulle ettichette delle bottiglie
    - sulla stoffa della biancheria intima (mi immagino gia' ...)
    - sui palloni da basket
    - sulla stampate laser
    - sulla stampante a getto di inchiostro
    - su un tronco di legno (e perche' no')
    - su una lastra di acciaio
    - sul marmo per realizzare le lapidi
    - ...

    Ovviamente non puoi immaginare di implementare il codice per tutti questi casi, perche' non sai come funziona ogni dispositivo, e, ovviamente, il funzionamento di ogni dispositivi e' proprieta' intellettuale dell'azienda che lo produce.

    Pero' le aziende che producono questi dispositivi sono disposte a realizzare il driver (cioe' il software che le comanda) a patto da non dipendere dal TUO software. Hanno i loro sviluppatori, le loro librerie java, ecc.

    Quindi come fare?
    Ovviamente, a te serve che si possano interfacciare con il tuo sistema, e loro devono essere liberi di cambiare il codice a loro piacimento.
    Ovviamente, tu e loro dovete comunque parlare, altrimenti il tuo software ed il loro non potranno mai funzionare assieme.

    Soluzione: definisci un'interfaccia!
    
    interface SoStampare {
         void stampo(String s);
    }
    
    In questo modo, purche' implementino la TUA interfaccia (che e' il minimo punto di contatto possibile) sono liberi di fare del LORO codice quello che vogliono.

    E nello stesso tempo, a TE, fintanto che implementano la TUA interfaccia, di come funziona il LORO sistema non te ne puo fregar de meno, come si suol dire
  • Re: Quando utilizzare l'interfaccia?

    Ottimo! sapevo di essere vicino alla verità! ahahahaha
  • Re: Quando utilizzare l'interfaccia?

    @Kuro, sei vicino alla Verita' NON alla verita'
  • Re: Quando utilizzare l'interfaccia?

    Non l'ho capita ma ok
  • Re: Quando utilizzare l'interfaccia?

    migliorabile ha scritto:


    Per prima cosa, @rairana, cosa intendi per interfaccia?

    In ogni caso, la risposta di @KuroKami69 non si avviciana minimamente alla risposta corretta. Diciamo pure che non centra un picchio!

    E' un po' come rispondere alla comanda "come e' il tempo oggi", risposta: "ieri non sono andato in bagno, ho un po' stitichezza!!!!!"

    Ma dal faceto, andiamo sul serio:

    supponi di avere una classe del tipo:
    
    class Stampa {
       print viod stampa(Stringa s){ ... }
    }
    
    con la quale stampare delle stringhe di testo.

    Ora, tu vuoi poter stampare questa stringa sui seguenti dispositivi:

    - sulla console: banale
    - sulla stampante ad aghi, quelle vecchie di una volta
    - sulla telescrivente, quelle ancora piu' vecchie di un'a volta ancora prima della volta di cui sopra
    - sulle ettichette delle bottiglie
    - sulla stoffa della biancheria intima (mi immagino gia' ...)
    - sui palloni da basket
    - sulla stampate laser
    - sulla stampante a getto di inchiostro
    - su un tronco di legno (e perche' no')
    - su una lastra di acciaio
    - sul marmo per realizzare le lapidi
    - ...

    Ovviamente non puoi immaginare di implementare il codice per tutti questi casi, perche' non sai come funziona ogni dispositivo, e, ovviamente, il funzionamento di ogni dispositivi e' proprieta' intellettuale dell'azienda che lo produce.

    Pero' le aziende che producono questi dispositivi sono disposte a realizzare il driver (cioe' il software che le comanda) a patto da non dipendere dal TUO software. Hanno i loro sviluppatori, le loro librerie java, ecc.

    Quindi come fare?
    Ovviamente, a te serve che si possano interfacciare con il tuo sistema, e loro devono essere liberi di cambiare il codice a loro piacimento.
    Ovviamente, tu e loro dovete comunque parlare, altrimenti il tuo software ed il loro non potranno mai funzionare assieme.

    Soluzione: definisci un'interfaccia!
    
    interface SoStampare {
         void stampo(String s);
    }
    
    In questo modo, purche' implementino la TUA interfaccia (che e' il minimo punto di contatto possibile) sono liberi di fare del LORO codice quello che vogliono.

    E nello stesso tempo, a TE, fintanto che implementano la TUA interfaccia, di come funziona il LORO sistema non te ne puo fregar de meno, come si suol dire
    Grazie mille, adesso mi è più chiaro.
Devi accedere o registrarti per scrivere nel forum
6 risposte