Σάββατο, 29 Δεκεμβρίου 2007

1η απόπειρα ολοκληρωμένου προγράμματος

Τώρα είναι που η Eri θα πέσει σε λήθαργο αλλά μπορεί να κάνει μερικά σχόλια και προτάσεις στο θέμα :)

Είπα να ξεκινήσω ένα project που γυροφέρνω πολύ καιρό στο μυαλό μου. Θέλω λοιπόν να κάνω ένα πρόγραμμα που καταγράφω τα άλμπουμ στη δισκοθήκη μου. Απλό ακούγεται και πιστεύω πως είναι απλό. Ξεκίνησα χθες τη σχεδίαση των τάξεων που θα χρησιμοποιηθούν στο χαρτί και πριν λίγο άρχισα να γράφω τον κώδικα.

Η κύρια ιδέα είναι να έχω σαν αντικείμενο το άλμπουμ, το δισκάκι. Οπότε θα γράφω όλες τις πληροφορίες που έχει για παράδειγμα όνομα συγκροτήματος, τίτλος άλμπουμ, αριθμός κομματιών, ονόματα κομματιών, είδος κλπ.

Αρχίζω με σχόλια πάνω στις τάξεις που έχω σκεφτεί.

Artist...
Το όνομα - φυσικά - του συγκροτήματος. Επίσης θα έχω δύο πίνακες, names & instruments όπου θα κρατάω τα ονόματα των μελών του συγκροτήματος΄και τί παίζουν (κιθάρα, μπάσο κλπ).

Genre...
Σ' ένα String θα κρατάω το είδος του άλμπουμ πχ black, thrash, power.

Title...
Το όνομα του άλμπουμ που θα καταχωρείται σ' ένα String. Σκέφτομαι να μη το κάνω ξεχωριστή τάξη αλλά απ' την άλλη έτσι μου φαίνεται πιο σωστό. Θα δείξει.

Track...
Εδώ θα έχω πληροφορίες για το κάθε τραγούδι δηλαδή τον τίτλο του και τη διάρκειά του.

Album...
Η σημαντικότερη τάξη. Θα έχει τα εξής πεδία: artist, title, genre, numOfSongs, yearOfRelease, tracks. To tracks θα είναι πίνακας τύπου Track.

Αυτές είναι οι τάξεις που έχω σκεφτεί μέχρι στιγμής και πιστεύω ότι καλύπτουν τα πάντα. Αν προκύψει κάτι, διορθώνεται εύκολα.

Η ενέργειες που θέλω να κάνω είναι:
  • Εισαγωγή νέου άλμπουμ
  • Ταξινόμηση κατά τίτλο άλμπουμ/συγκρότημα/χρονιά
  • Εύρεση κι εμφάνιση στοιχείων άλμπουμ

Όταν ασχοληθώ και με streams, θα μπορέσω να κάνω ανάγνωση/εγγραφή από/σε αρχείο. Μέχρι στιγμής δεν έχω αυτή τη δυνατότητα.

Επίσης, το πρόγραμμα δε μπορεί να έχει γραφικό περιβάλλον αφού ουδέποτε στη σχολή ασχοληθήκαμε με κατασκευή GUI. Οπότε κι αυτό θα ολοκληρωθεί αργότερα.

Το πρόγραμμα ξεκίνησα να το γράφω σε NetBeans ούτως ώστε να είναι εύκολο το πακετάρισμα σε jar.

Αυτά μέχρι στιγμής. Αν διαβάσατε όλο το post κι έχετε κάποια σχόλια ή προτάσεις, καλοδεχούμενα είναι.

5 σχόλια:

uncle είπε...

στο class album, τα tracks γιατί να είναι τύπου track, και όχι id για να τα τραβάει απο την class Tracks, που ήδη θα έχει όλα τα στοιχεία του κομματιού?

rock 2 the bone είπε...

Καλή ιδέα αδελφέ!
Μου φαίνεται ενδιαφέρον. Μήπως να φτιάξεις και μια κατηγορία για τα εξώφυλλα του δίσκου ή ακόμα και για την στιχουργική θεματολογία; Μην σου πω να μπορεί κανείς να διαβάσει τους στίχους κάθε κομματιού...

Καλά, ιδέες είναι φαντάζομαι πως θα' ναι δύσκολο να γίνουν γιατί δεν είναι αυτά τα στοιχεία(σίγουρα όχι όλα)καταγεγραμμένα στο cd.

Wise_One είπε...

@uncle: Κατάλαβα τί λες, απλά η τάξη Track κρατάει στοιχεία για ένα track μόνο κι όχι για όλα τα τραγούδια του δίσκου. Εκτός αν μέσα σ' εκείνη την τάξη φτιάξω τον πίνακα για όλα τα κομμάτια κι όχι στην Album... Χμ, κάτσε λίγο να το σκεφτώ. Καλή ιδέα πάντως.

@rock2thebone: Απώτερος σκοπός είναι κι αυτό που λες. Απλά μέχρι στιγμής δεν έχω τις γνώσεις για να κάνω κάτι τέτοιο. Όταν κάνω αυτό το σούπερ-ντούπερ πρόγραμμα, θα εξαγοράσω την εταιρία του rockordie για το LyricsFinder11 και θα το ενσωματώσω στον κώδικά μου χιχιχιχ....

rockordie είπε...

Μην μασάς, θα πουλήσω φτηνά.

Wise_One είπε...

Δυστυχώς οι μεγάλες εταιρίες θέτουν στην αφάνεια τους σόλο επιχειρηματίες....