Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Quali classi dovrei creare.
Forum - Java - Quali classi dovrei creare.

Avatar
crashoverride (Normal User)
Pro


Messaggi: 152
Iscritto: 09/07/2010

Segnala al moderatore
Postato alle 20:24
Martedì, 23/11/2010
Ho deciso di provare le classi imparate in un capitolo del mio libro programmando un programma per conoscere l'orario in tutte le nazioni usando la classe timezone ecc. Per questo non ho problemi ma i problemi vengono nella progettazione ovvero quali classi devo creare? Perchè nonostante i concetti di OOP spiegati nel libro non sò mai quali classi devo creare quando programmo... Quindi vi chiedevo a voi un parere...

Grazie mille.

PS: esistono dei libri che spiegano come scegliere le classi ecc?

Grazie ancora.

PM
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Up
2
Down
V
Segnala al moderatore
Postato alle 21:14
Martedì, 23/11/2010
A questa domanda rispondono svariate architetture, che sono appunto infrastrutture che fanno stare in piedi il tuo sistema in maniera solida e gestibile seguendo vari pattern per quello specifico genere di applicazioni da costruire.

Un'introduzione stringata:

Tipicamente per applicazioni "standard" prima di pensare alle classi si pensa ai livelli, nel caso più semplice i livelli sono 3: Data Access, Business Logic, Presentation.
In questi livelli si sviluppano, tipicamente, ulteriori unità logiche che sono le Entità e gli Helpers.

Questa architettura può essere ovviamente estesa fino a diventare una generica architettura a n livelli (n-tiers) e in altri casi diventare decentralizzata ovvero basata su web service (SOA, cioè service oriented architecture) o in generale su una suddivisione client-server o addirittura distribuita.
Ovviamente si possono fare varianti di ogni sorta per definire caratteristiche particolari come modularità, dinamicità, configurabilità estrema o cose del genere.

Quando dovrai approfondire questa parte i testi da leggere riguardano analisi del software, design pattern e software architecture.

Ti direi di non preoccuparti troppo al momento di queste cose e per i tuoi esercizi limitati a rispettare i principi di base della OOP.

Quando invece le applicazioni cominciano ad avere un minimo di fuffa è bene fermarsi un attimo a guardare queste cose per evitare di incombere in cattive abitutini e errori comuni (gli anti-pattern in contrasto ai pattern: http://it.wikipedia.org/wiki/Anti-pattern)

PM
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 1:30
Mercoledì, 24/11/2010
Testo quotato

Postato originariamente da netarrow:

A questa domanda rispondono svariate architetture, che sono appunto infrastrutture che fanno stare in piedi il tuo sistema in maniera solida e gestibile seguendo vari pattern per quello specifico genere di applicazioni da costruire.

Un'introduzione stringata:

Tipicamente per applicazioni "standard" prima di pensare alle classi si pensa ai livelli, nel caso più semplice i livelli sono 3: Data Access, Business Logic, Presentation.
In questi livelli si sviluppano, tipicamente, ulteriori unità logiche che sono le Entità e gli Helpers.

Questa architettura può essere ovviamente estesa fino a diventare una generica architettura a n livelli (n-tiers) e in altri casi diventare decentralizzata ovvero basata su web service (SOA, cioè service oriented architecture) o in generale su una suddivisione client-server o addirittura distribuita.
Ovviamente si possono fare varianti di ogni sorta per definire caratteristiche particolari come modularità, dinamicità, configurabilità estrema o cose del genere.

Quando dovrai approfondire questa parte i testi da leggere riguardano analisi del software, design pattern e software architecture.

Ti direi di non preoccuparti troppo al momento di queste cose e per i tuoi esercizi limitati a rispettare i principi di base della OOP.

Quando invece le applicazioni cominciano ad avere un minimo di fuffa è bene fermarsi un attimo a guardare queste cose per evitare di incombere in cattive abitutini e errori comuni (gli anti-pattern in contrasto ai pattern: http://it.wikipedia.org/wiki/Anti-pattern)



... e non dimenticare la supercazzola all'Australiana con antani a destra!

seriamente, credi di averlo aiutato così? :D

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 11:04
Mercoledì, 24/11/2010

asd netarrow che sboroneggia, questa me la segno :)

PM
Avatar
crashoverride (Normal User)
Pro


Messaggi: 152
Iscritto: 09/07/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 16:37
Mercoledì, 24/11/2010
Non ho capito molto di quello che mi hai detto netarrow :( Chiedo venia ma puoi spiegarmelo meglio??

Grazie mille! :)

PM
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Up
0
Down
V
Segnala al moderatore
Postato alle 20:15
Mercoledì, 24/11/2010
Testo quotato


.. e non dimenticare la supercazzola all'Australiana con antani a destra!



ahahahah.

Mi sono lasciato prendere dall'entusiasmo.

Cmq non preoccuparti crashoverride, considera l'introduzione un stimolo alla tua curiosità e per "la scelta delle classi" posta le cose che vuoi sviluppare qui e mano a mano ti consiglieremo come organizzare il codice.

PM
Avatar
crashoverride (Normal User)
Pro


Messaggi: 152
Iscritto: 09/07/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 21:15
Mercoledì, 24/11/2010
Ok, allora io voglio semplicemente creare un programma che facendo uso di Calendar, TimeZone ecc mi permetta di conoscere l'ora nei vari paesi...
Percui inserisco in input il nome del Contintente - Es: Europe
Poi il nome dello stato ad esempio Rome
e ritorni l'ora...
Io ho provato in questo modo, creando 2 classi ma non sò se è giusto fare solo 2 classi xD
Eccoti il sorgente:

Codice sorgente - presumibilmente Java

  1. /*
  2.  * 24 11 2010
  3.  * TimeZoneHour.java
  4.  * By Gheza Nicola.
  5.  */
  6.  
  7. import java.util.*;
  8.  
  9. public class TimeZoneHour {
  10.     private String timeZone;
  11.     private Calendar calendar;
  12.     private String timeZoneHour;
  13.    
  14.     public TimeZoneHour(String timeZone){
  15.         setTimeZone(timeZone);
  16.     }
  17.    
  18.     public void setTimeZone(String timeZone){
  19.         this.timeZone = timeZone;
  20.     }
  21.    
  22.     public String getTimeZone(){
  23.         return timeZone;
  24.     }
  25.    
  26.     public String getTimeZoneHour(){
  27.         calendar = new GregorianCalendar(TimeZone.getTimeZone(timeZone));
  28.         timeZoneHour = calendar.get(Calendar.HOUR) + " "+ calendar.get(Calendar.MINUTE) +" "+calendar.get(Calendar.SECOND);
  29.         return timeZoneHour;
  30.     }
  31.    
  32. }



Codice sorgente - presumibilmente Java

  1. /*
  2.  * 24/11/2010
  3.  * WorldTime.java
  4.  * By Gheza Nicola.
  5.  */
  6. import java.util.*;
  7. public class WorldTime {
  8.  
  9.         public static void main(String[] args) {
  10.                 System.out.println("This is WorldTime by Gheza Nicola ;)");
  11.                 TimeZoneHour tzh = new TimeZoneHour("Europe/London");
  12.                 System.out.println(tzh.getTimeZoneHour());
  13.         }
  14.  
  15. }


Non ho ancora gestito l'input perchè stavo provando se funzionava il tutto... Poi lo metterò.
Thanks

Ultima modifica effettuata da crashoverride il 24/11/2010 alle 21:17
PM