Τα design patterns του Δημόσιου τομέα

0

Σήμερα θα κάνουμε την κουβέντα λίγο πιό τεχνική. Ας μας συγχωρήσουν οι μη έχοντες γνώσεις προγραμματισμού και software architecture, πιστεύουμε όμως ότι κάτι θα καταλάβουν και αυτοί. 

 

Το ξέρατε ότι ο Δημόσιος τομέας χρησιμοποιεί design patterns; Καθημερινά; 

 

Φυσικά και όχι, γιατί δεν έχετε κοιτάξει προσεκτικά. 

 

Εμείς σας αποκαλύπτουμε σήμερα τα πέντε δημοφιλέστερα design patterns που χρησιμοποιούνται κατά κόρον στο Δημόσιο, και τα οποία έχουν υλοποιηθεί μετά από προσεκτική μελέτη και ανάλυση. Πρόκειται για τα περίφημα GoF (Gang of Fail) design patterns: 

 

 

Chain of Irresponsibility

 

Ένα μάτσο από objects που περνάνε εντολές το ένα στο άλλο. Ορισμένες φορές οι εντολές απλά χάνονται ή γίνονται κυκλικές (από τον α στον β και πάλι στον α). Υπάρχει ΕΝΑ processing object, αλλά μόλις λήξει η σύμβασή του γίνεται dispose και όλες οι εντολές που περάστηκαν σε αυτό χάνονται. Ορισμένες φορές τις χάνει και από μόνο του.

 

Παράδειγμα: Διοικητική ιεραρχία δημόσιου οργανισμού.

 

 

Unit of Some Work 

 

Εχουμε ένα object που κρατάει στη μνήμη πράγματα για να κάνει, και με τυχαιό τρόπο κάνει ένα ποσοστό από αυτά μία φορά στις δέκα. Τις υπόλοιπες φορές μεταπηδάει είτε σε Chain of Irresponsibility μοιράζοντας εντολές εδώ και εκεί, είτε καθυστερεί τόσο πολύ που όταν πλέον γίνουν commit τα δεδομένα, τα μισά είναι ήδη άχρηστα.

 

Παράδειγμα: Γραπτές απαντήσεις δημοσίων φορέων σε αιτήματα πολιτών. 

 

 

Inverse Facade 


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

 

Παράδειγμα: Διαδικασία ίδρυσης επιχείρησης εντός της Ελληνικής επικράτειας.

 

 

OverDecorator

 

Έχουμε ένα object που, όταν πρωτοδημιουργείται, κάνει μια δουλειά: Του δίνεις κάποιο input και σου βγάζει κάποιο αποτέλεσμα. Στη συνέχεια, το γεμίζουμε με υποεργασίες, μικροεργασίες, υπο-υποεργασίες και εργασίες που εξαρτώνται από άλλες εργασίες. Πετάμε και μερικές functions που σκάνε exception ό,τι και να τις ταϊσεις. Και μερικά properties που τελικά δεν χρησιμοποιούνται πουθενά. Τελικά, για να χρησιμοποιήσεις σωστά το αντικείμενο αυτό απαιτούνται τουλάχιστον τετραετείς σπουδές, εκ των οποίων το πρώτο εξάμηνο σας μαθαίνει τη χρήση του αντικειμένου και τα υπόλοιπα τριάμιση χρόνια μαθαίνετε πώς να αποφεύγετε το άχρηστο functionality. 

 

Παράδειγμα: ΚΒΣ. 

 

 

Singledoc 

 

Αυτό το pattern εφαρμόζεται κυρίως στον τομέα της Υγείας. Φροντίζει για τη δημιουργία ενός και μόνο αντικειμένου, το οποίο είναι υπεύθυνο για τη διαχείριση όλων των αιτημάτων που καταλήγουν σε αυτό. Απαγορεύεται η δημιουργία περισσότερων από ένα, και κάθε κλήση επιστρέφει το ίδιο αρχικό αντικείμενο. Επιπρόσθετα, το αντικείμενο μπορεί να χειριστεί μια μόνο κλήση τη φορά, με αποτέλεσμα να δημιουργείται queue από αντικείμενα που αναμένουν επεξεργασία.

 

Παράδειγμα: Ιατροί σε δημόσια νοσοκομεία ανά ειδικότητα, ανεξαρτήτως πλήθους ασθενών. 

 

Σχόλια (4) -