Skip to content

Releases: GeorgeMC2610/Design-Patterns

ΚΙ ΑΛΛΟ RELEASE, ΓΙΑΤΙ ΤΟ ΠΡΟΗΓΟΥΜΕΝΟ ΒΡΩΜΟΥΣΕ

12 Jul 21:44
Compare
Choose a tag to compare

Υλοποίηση Αρχών και Προτύπων Λογισμικού με Σύγχρονες γλώσσες προγραμματισμού


Θέμα 1 (8 μονάδες)

Ζητείται να υλοποιηθούν πρωτότυπες υλοποιήσεις με σύγχρονες γλώσσες προγραμματισμού όπως C#, ή python για τις παρακάτω αρχές αντικειμενοστρεφούς προγραμματισμού και για πρότυπα ανάπτυξης λογισμικού:

  1. Αρχή μοναδικού σκοπού (single responsibility principle), Αρχή Κλειστού – Ανοικτού κώδικα (open closed principle) (1 μονάδα)
  2. Αρχή αντικατάστασης της Liskov (Liskov substitution), Αρχή διαχωρισμού με διεπαφές (Interface segregation) με πολλαπλή κληρονομικότητα (1 μονάδα)
  3. Αρχή αντιστροφής εξαρτήσεων (Dependency Inversion) (2 μονάδες)
  4. Πρότυπο Σχεδίασης Adapter (2 μονάδες)
  5. Πρότυπο Σχεδίασης Factory & Abstract Factory (2 μονάδες)

Για κάθε ένα από τα παραπάνω θα δημιουργήσετε ένα ενδεικτικό παράδειγμα που θα υλοποιεί το πρότυπο και θα το χρησιμοποιεί και θα παραδώσετε το class diagram, και τον πηγαίο κώδικα σε φάκελο project από IDE της επιλογής σας (π.χ. Visual Studio, κλπ).


Θέμα 2 (2 μονάδες)

Θα μελετήσετε πρότυπα που δίνονται στο βιβλίο Cloud Design Patterns Book της Microsoft Press που διατίθεται δωρεάν ηλεκτρονικά.
Επιλέξτε ένα από τα παρακάτω ζεύγη προτύπων προς μελέτη:

  • Health Endpoint Monitoring Pattern, Competing Consumers Pattern
  • Event Sourcing Pattern, Command and Query Responsibility Segregation (CQRS) Pattern
  • Federated Identity Pattern, Retry Pattern

Θα επιλέξετε ένα ζεύγος προτύπων από τα παραπάνω για τα οποία:

  1. Θα δημιουργήσετε παρουσίαση Powerpoint ως 15 διαφάνειες
  2. Θα γράψετε μία σύντομη αναφορά στα ελληνικά για κάθε πρότυπο στην οποία θα παρουσιάσετε ενδεικτικό παράδειγμα χρήσης του προτύπου (ενδεικτικά απαιτούνται 2-5 σελίδες για κάθε πρότυπο)
  3. Η αναφορά σας θα πρέπει να έχει εξώφυλλο με τα στοιχεία (ονοματεπώνυμο, ΑΜ και το email που χρησιμοποιείτε για login στο teams) κάθε μέλους της ομάδας

Μπορείτε να χρησιμοποιήσετε τα παραδείγματα που δίνονται στο βιβλίο για να βασίσετε τα παραδείγματα χρήσης τους που θα παρουσιάσετε και θα παραδώσετε το σχετικό class diagram και πηγαίο κώδικα.



  • Η εργασία θα πραγματοποιηθεί από ομάδες 1 ή 2 ατόμων.
  • Η υλοποίηση της εργασίας να γίνει σε C# ή python
  • Η παράδοση της τελικής εργασίας θα πραγματοποιηθεί ηλεκτρονικά στο σύστημα Gunet2 έως τις 10.7.2022 για την περίοδο εαρινού εξαμήνου Ιουνίου από έναν εκπρόσωπο της ομάδας.
  • Θα ανακοινωθεί ημερομηνία και ώρα προφορικής εξέτασης της εργασίας με χρήση teamsγια κάθε ομάδα σε ημερομηνία εντός της εξεταστικής μετά την παράδοση της εργασίας.
  • Παρακαλώ θερμά για την τήρηση της ημερομηνίας υποβολής της εργασίας.
  • Η ισχύς της παρούσας εργασίας είναι για το ακαδημαϊκό έτος 2021-2022.

Τελική Εργασία Ιούνιος 2022

11 Jul 23:18
Compare
Choose a tag to compare

Υλοποίηση Αρχών και Προτύπων Λογισμικού με Σύγχρονες γλώσσες προγραμματισμού


Θέμα 1 (8 μονάδες)

Ζητείται να υλοποιηθούν πρωτότυπες υλοποιήσεις με σύγχρονες γλώσσες προγραμματισμού όπως C#, ή python για τις παρακάτω αρχές αντικειμενοστρεφούς προγραμματισμού και για πρότυπα ανάπτυξης λογισμικού:

  1. Αρχή μοναδικού σκοπού (single responsibility principle), Αρχή Κλειστού – Ανοικτού κώδικα (open closed principle) (1 μονάδα)
  2. Αρχή αντικατάστασης της Liskov (Liskov substitution), Αρχή διαχωρισμού με διεπαφές (Interface segregation) με πολλαπλή κληρονομικότητα (1 μονάδα)
  3. Αρχή αντιστροφής εξαρτήσεων (Dependency Inversion) (2 μονάδες)
  4. Πρότυπο Σχεδίασης Adapter (2 μονάδες)
  5. Πρότυπο Σχεδίασης Factory & Abstract Factory (2 μονάδες)

Για κάθε ένα από τα παραπάνω θα δημιουργήσετε ένα ενδεικτικό παράδειγμα που θα υλοποιεί το πρότυπο και θα το χρησιμοποιεί και θα παραδώσετε το class diagram, και τον πηγαίο κώδικα σε φάκελο project από IDE της επιλογής σας (π.χ. Visual Studio, κλπ).


Θέμα 2 (2 μονάδες)

Θα μελετήσετε πρότυπα που δίνονται στο βιβλίο Cloud Design Patterns Book της Microsoft Press που διατίθεται δωρεάν ηλεκτρονικά.
Επιλέξτε ένα από τα παρακάτω ζεύγη προτύπων προς μελέτη:

  • Health Endpoint Monitoring Pattern, Competing Consumers Pattern
  • Event Sourcing Pattern, Command and Query Responsibility Segregation (CQRS) Pattern
  • Federated Identity Pattern, Retry Pattern

Θα επιλέξετε ένα ζεύγος προτύπων από τα παραπάνω για τα οποία:

  1. Θα δημιουργήσετε παρουσίαση Powerpoint ως 15 διαφάνειες
  2. Θα γράψετε μία σύντομη αναφορά στα ελληνικά για κάθε πρότυπο στην οποία θα παρουσιάσετε ενδεικτικό παράδειγμα χρήσης του προτύπου (ενδεικτικά απαιτούνται 2-5 σελίδες για κάθε πρότυπο)
  3. Η αναφορά σας θα πρέπει να έχει εξώφυλλο με τα στοιχεία (ονοματεπώνυμο, ΑΜ και το email που χρησιμοποιείτε για login στο teams) κάθε μέλους της ομάδας

Μπορείτε να χρησιμοποιήσετε τα παραδείγματα που δίνονται στο βιβλίο για να βασίσετε τα παραδείγματα χρήσης τους που θα παρουσιάσετε και θα παραδώσετε το σχετικό class diagram και πηγαίο κώδικα.



  • Η εργασία θα πραγματοποιηθεί από ομάδες 1 ή 2 ατόμων.
  • Η υλοποίηση της εργασίας να γίνει σε C# ή python
  • Η παράδοση της τελικής εργασίας θα πραγματοποιηθεί ηλεκτρονικά στο σύστημα Gunet2 έως τις 10.7.2022 για την περίοδο εαρινού εξαμήνου Ιουνίου από έναν εκπρόσωπο της ομάδας.
  • Θα ανακοινωθεί ημερομηνία και ώρα προφορικής εξέτασης της εργασίας με χρήση teamsγια κάθε ομάδα σε ημερομηνία εντός της εξεταστικής μετά την παράδοση της εργασίας.
  • Παρακαλώ θερμά για την τήρηση της ημερομηνίας υποβολής της εργασίας.
  • Η ισχύς της παρούσας εργασίας είναι για το ακαδημαϊκό έτος 2021-2022.