Αντικειμενοστρεφής Προγραμματισμός ΙΙ
Γενικά
Κωδικός: ΥΠ10
Γλώσσα: Ελληνική
Τρόπος διδασκαλίας: Δια ζώσης
Προαπαιτούμενα: Αντικειμενοστρεφής Προγραμματισμός 1
Φόρτος εργασίας
- Διαλέξεις: 26.0 ώρες
- Εργαστήριο: 0.0 ώρες
- Μελέτη: 47.0 ώρες
- Εργασία: 52.0 ώρες
Περιεχόμενο Μαθήματος
- Πολυμορφισμός, υπερφόρτωση μεθόδων, υποσκέλιση μεθόδων, αφηρημένες κλάσεις, το μοτίβο της πρότυπης κλάσης, γενικευμένος προγραμματισμός.
- Συλλογές αντικειμένων, μοντελοποίηση στον αντικειμενοστρεφή προγραμματισμό, setters and getters, ισότητα αντικειμένων, σύγκριση αντικειμένων και συγκριτές, το μοτίβο του επαναλήπτη, εσωτερικές κλάσεις.
- Ρεύματα εισόδου-εξόδου, το μοτίβο του διακοσμητή, το μοτίβο του σύνθετου αντικειμένου, ρεύματα χαρακτήρων, το μοτίβο του προσαρμοστή, διαχείριση σφαλμάτων, χειρισμός και ρίψη εξαιρέσεων.
- Καταγραφή γεγονότων, η διεπαφή του καταγραφέα, αποσιώπηση καταγραφής, καταγραφή σε επίπεδα, ιεραρχία καταγραφέων, το μοτίβο της αλυσίδας ευθύνης, κατασκευή καταγραφέων, το μοτίβο του εργαστασίου αντικειμένων, το μοτίβο του μοναδικού αντικειμένου.
- Παράθυρα, θέση παράθυρου, γραφικά στοιχεία, τοποθέτηση στοιχείων, αυτόματη τοποθέτηση, το μοτίβο της στρατηγικής, η βιβλιοθήκη Swing, έτοιμα γραφικά στοιχεία, έτοιμες στρατηγικές τοποθέτησης.
- Προγραμματισμός οδηγούμενος από συμβάντα, είσοδος στις παραθυρικές εφαρμογές, το μοτίβο του παρατηρητή, συμβάντα και ακροατές, οι διεπαφές των ακροατών στην Swing, ανώνυμες κλάσεις, το μοτίβο της εντολής, διαχείριση εντολών, μακροεντολές, αναίρεση εντολών.
- Σχεδιαστικά θέματα παραθυρικών εφαρμογών, διαχωρισμός λειτουργικότητας, το μοτίβο μοντέλο-όψη-ελεγκτής, παραλλαγές, πολλαπλές όψεις και διαμοιρασμός μοντέλου, υλοποίηση του μοτίβου στην Swing.
- Αμυντικός προγραμματισμός, ισχυρισμοί στην Java, δοκιμές μονάδας, JUnit, αντικείμενα σωσίες, προβλήματα ενθυλάκωσης και κληρονόμησης, ανάπτυξη οδηγούμενη από δοκιμές.
Μαθησιακά Αποτελέσματα
Το μάθημα έχει ως στόχο την εμβάθυνση στον σχεδιασμό και την ανάπτυξη εφαρμογών σύμφωνα με το παράδειγμα του αντικειμενοστρεφούς προγραμματισμού. Καλύπτει τις βασικές αρχές και τεχνικές του αντικειμενοστρεφούς σχεδιασμού προγραμμάτων. Παρουσιάζει γνωστά σχεδιαστικά μοτίβα και μελετάει την εφαρμογή τους στον σχεδιασμό γνωστών βιβλιοθηκών λογισμικού. Εφαρμόζει στην πράξη το παράδειγμα του αντικειμενοστρεφούς προγραμματισμού χρησιμοποιώντας την γλώσσα προγραμματισμού Java. Με το τέλος του μαθήματος, οι φοιτητές θα είναι σε θέση:
- να γνωρίζουν τις βασικές μεθόδους και τεχνικές αντικειμενοστρεφούς προγραμματισμού
- να σχεδιάζουν και να δομούν εφαρμογές με σύνθετα χαρακτηριστικά
- να αναγνωρίζουν και να χρησιμοποιούν σχεδιαστικά μοτίβα
- να εκμεταλλεύονται έτοιμες βιβλιοθήκες και δομές δεδομένων
Δεξιότητες
- Αυτόνομη εργασία
- Ομαδική εργασία
- Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης
