Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    [Java+OOP best practice] Ricerca di un dato per nome

    Supponiamo (banalizzando) che abbia una classe Ricercatore che contiene il metodo cercaAutomobileByName(int name).
    Ho anche una classe Automobile e sempre banalizzando questa classe ha un attributo privato name con i set e i get pubblici.
    La classe Automobile ha un costruttore che riceve come parametro il nome e crea l'oggetto automobile.

    Ora la domanda è, supponendo che tutte le automobili siano memorizzate in un DB e voglior trovare una ricerca tramite il metodo cercaAutomobileByName(int name) come devo procedere????


    Ho pensato a vari approcci non so quale sia giusto in un'ottica di Ingegneria del software:
    [list=1][*]Il metodo di ricerca cercaAutomobileByName(int name) si collega al DB e vede se esiste un risultato per quel nome. Se sì, fa il new di Automobile altrimenti torna un eccezione.
    [*]Il metodo di ricerca cercaAutomobileByName(int name) tenta di creare la classe automobile. Il costruttore di Automobile effettua la ricerca sul DB dopodichè se trova un risultato
    termina con successo, altrimenti si interrompe. (La peggiore che mi è venuta in mente credo, anche perché nn conosco l'esistenza di un metodo che mi farebbe bloccare la costruzione dell'oggetto mentre lo si sta costruendo)
    [*]Considero i dati serializzati per cui chiamo il metodo di ricerca cercaAutomobileByName(int name) e mi faccio ritornare il risultato??? (Come se esistesse un mapping diretto Hibernate o cose simili)[/list=1]

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    premetto che ancora devo dare ingegneria del software e che non capisco il campo name come intero, però logicamente io opterei per la prima, o una variante di essa...
    Se la chiave di ricerca fosse una stringa, allora potresti registituire un Array di automobili...Anche l'idea dell'eccezione funziona...
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Si prima avevo scritto int id, il conetto cmq è lo stesso.

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.