Alithinos Δημοσ. 4 Ιουνίου 2018 Μέλος Δημοσ. 4 Ιουνίου 2018 3 ώρες πριν, defacer είπε @Alithinos δε μπορώ να παρακολουθήσω αρκετά, αλλά όσον αφορά αυτό που μου έγραψες παραπάνω: κάνεις λάθος, δεν έχει κάθε car δικό του αντίγραφο του κώδικα κάθε μεθόδου. That's not at all how it works. Όπως κι αν τα κάνεις, το αντίγραφο του κώδικα πάντα θα είναι ένα και μοναδικό εκτός από περιπτώσεις που ο κώδικας είναι σε κάποια library και την κάνεις statically link μέσα σε άλλες libraries, και μετά κάνεις statically link αυτές μέσα στο ίδιο εκτελέσιμο. Οπότε δεν ισχύει αυτό που λες ως θετικό. Θα προσπαθήσω να επανέλθω αργότερα. Χμ, να που μάθαμε και κάτι καινούριο. Είχα την εντύπωση οτι συνέβαινε κάτι διαφορετικό. Εξήγησε μου αυτο αν θες: Αν φτιάξω ν αντικείμενα και η κλάση τους στο κώδικα αρχικοποιησης δημιουργεί ένα thread, θα καταλήξω με ν νέα threads, σωστά; Ενώ αν φτιάξω ένα singleton που στην αρχικοποιηση υπάρχει κώδικας δημιουργίας thread, θα καταλήξω με 1 νέο thread, έτσι; Αυτό δίνει την εντύπωση πως το κάθε αντικείμενο έχει αντίτυπο του κώδικα λογικής. Αλλά αφού δεν ισχύει κάτι τέτοιο, υποθέτω είναι μαγκιά του compiler. Άρα και το οποίο performance gain από το διαχωρισμό καθ αυτόν, είναι ράδιο αρβύλα. Ωστόσο μπορώ να φανταστώ πως το να έχεις το κώδικα λογικής σε ένα singleton και ξεχωριστά τα αντικείμενα με δεδομένα μπορεί να κάνει πιο εύκολη τη χρήση threading αν χρειαστεί αργότερα, ώστε να βάλεις ένα thread να λουπαρει συνεχώς επεξεργαζοντας διάφορα αντικειμενα απ το να φτιάχνεις ένα thread σε κάθε αντικείμενο.
the other one Δημοσ. 5 Ιουνίου 2018 Δημοσ. 5 Ιουνίου 2018 Από τα λίγα που διάβασα η όλη λογική είναι κλασική περίπτωση object composition (έναντι inheritance) και θυμίζει λίγο dependency injection και strategy pattern (για όποιον είναι buzzwords ας τα γκουγκλάρει είναι αρκετά διαδεδομένες τεχνικές). Τις κλάσεις με τα dependencies ή entities ή όπως θες πες το μπορεί; να τα χεις σε text configured containers και να τα τραβάς βάσει id. Και το spring της java έτσι λειτουργεί.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα