Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Pierock
    Registrato dal
    Dec 2008
    Messaggi
    102

    [java] dubbi su ereditarietà

    salve ragazzi,
    ho un piccolo dubbio.. ho creato 2 classe entrambe estensione della classe JPanel;
    ora... mi rendo conto che entrambe le mie classi, benché diverse hanno dei metodi privati in comune... cioè sono identici!!
    questa cosa credo cozzi abbastanza con il principio dell'orientamento agli oggetti...
    quindi mi vengono in mente 2 possibilità, ma nn so decidere quale sia più pertinente
    1- creare una classe astratta che implementi la funzionalità in comune e sia a sua volta estesione di JPanel, e rendere le mie 2 classe estensioni di quella astratta...
    o,
    2- inserire i metodi in comune in una classe Utility ... ed utilizzarla qnd mi serve...

    ...
    per la prima... mi fa pensare il fatto che la mia classe astratta sia estensione di un JPanel, ma che non utilizzi direttamente niente della sua superclasse...

    le seconda... mi sembra ancor più strana perchè in quella classe Utility , continuando cn quel principio, andrebbero a sommarsi vari metodi non collegati semanticamente tra loro... un po' un'accozzaglia di funzioni di cui sarebbe impossibile capire in che ambito vadano utilizzate.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    chi ti dice che la classe deve essere astratta?
    Puoi creare una superclasse MioPannello non astratta che usi come base per le due, anche se situazioni di questo tipo sono un primo campanello di allarme da sbagliata strutturazione del codice
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it L'avatar di Pierock
    Registrato dal
    Dec 2008
    Messaggi
    102
    anche se situazioni di questo tipo sono un primo campanello di allarme da sbagliata strutturazione del codice
    O.o ...

    il fatto è che sono due pannelli che devono mostrare dei dati che leggono da un DB...
    e i metodi che hanno per rielaborare questi dati sono i medesimi..
    se mi dici che è qst mi debba addirittura allarmare... mi spaventi sul serio

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    vedi che hai risposto da solo.
    Conosci il pattern MVC?
    Tendenzialmente non metti la logica di controllo (quella che legge dal db) assieme alla logica di visualizzazione. I tuoi pannelli devono essere in grado di visualizzare i dati in generale, puoi passare strutture dati a questi e questi li mandano a video. Come crei queste strutture dati a chi visualizza non interessa. Ecco il campanello d'allarme, stai mettendo logica di controllo all'interno della logica di visualizzazione, ecco la necessità di dover creare una gerarchia di classi quando questa, se necessaria, dovrebbe stare altrove.

    Prova ad immaginare i tuoi pannelli che ricevono una lista di dati e su quella lavorano, vedi che non è necessario ereditare. Sarà altresì necessario un meccanismo che crea questi dati e che li passi al pannello
    RTFM Read That F*** Manual!!!

  5. #5
    Utente di HTML.it L'avatar di Pierock
    Registrato dal
    Dec 2008
    Messaggi
    102
    grazie mille valia,
    Conosci il pattern MVC?
    no, effettivamente non conoscevo questo pattern .... ho leggiucchiato un po', e mi sto rendendo effettivamente conto che stavo procedendo in maniera sbagliata...
    ora però dammi qualche consiglio...

    non so bene "dove" collocare un eventuale "Middleware" ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.