Από Static Classes σε Services με Dependency Injection Με οπτική Clean Architecture (layers & boundaries)
Εισαγωγή Στην προηγούμενη ανάλυση είδαμε γιατί οι static classes αρχίζουν να δημιουργούν προβλήματα όσο μεγαλώνει ένα σύστημα και πώς τα services με dependency injection δίνουν ευελιξία, testabilit...

Source: DEV Community
Εισαγωγή Στην προηγούμενη ανάλυση είδαμε γιατί οι static classes αρχίζουν να δημιουργούν προβλήματα όσο μεγαλώνει ένα σύστημα και πώς τα services με dependency injection δίνουν ευελιξία, testability και καλύτερο έλεγχο. Τώρα πάμε ένα βήμα παραπάνω. Το πραγματικό value των services δεν φαίνεται απλά μέσα σε μία κλάση. Φαίνεται όταν τα τοποθετήσεις σωστά μέσα σε αρχιτεκτονικά layers. Εκεί είναι που η διαφορά μεταξύ “κώδικας που δουλεύει” και “κώδικας που αντέχει στον χρόνο” γίνεται ξεκάθαρη. Τι αλλάζει όταν μπαίνουμε σε Clean Architecture Στην Clean Architecture δεν μας ενδιαφέρει απλά να γράψουμε services. Μας ενδιαφέρει πού ανήκουν και ποιος εξαρτάται από ποιον. Η βασική ιδέα είναι ότι το σύστημα χωρίζεται σε layers με ξεκάθαρα boundaries. Το domain βρίσκεται στο κέντρο και δεν εξαρτάται από τίποτα. Τα εξωτερικά layers εξαρτώνται από το domain, όχι το αντίστροφο. Αυτό σημαίνει ότι οι αποφάσεις που παίρνεις για static ή service δεν είναι πλέον τοπικές. Είναι αρχιτεκτονικές. Πού “σπάνε”