Διάβαζα κάποια πράγματα για το πώς να σχεδιάσουν μια βιβλιοθήκη ή API καλά, και σκόνταψε σε μεγάλη συζήτηση Joshua Bloch κατά της Google Tech συνομιλίες. Τώρα αν είμαι πουθενά κοντά σε ένα επαγγελματία προγραμματιστή API, νομίζω ότι τον προγραμματισμό ένα σωρό κατηγορίες / λειτουργίες είναι παρόμοια, αν και πολύ κλίμακα-κάτω εκδοχή του ίδιου πράγματος - σαφή διαχωρισμό των δράσεων, την ευκολία και ευχάριστη χρήση, ενθαρρύνοντας καθαρό κώδικα , και τα λοιπα.
Πήγαινα μέσω κάποιας χρησιμοποιείται ευρέως ανοικτού πηγαίου κώδικα Java και πήρε αυτή την ιδέα (κάτι καινούργιο, αλλά απλά να βάλει επάνω διαύγεια ...)
Ας πάρουμε ένα παράδειγμα ψευδοκώδικα (ή ίσως και κάποια διάλεκτο της BASIC):
1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide
Τώρα, εμπνευσμένο από τον κώδικα Java θα ήθελα να είναι σε θέση να κάνει κάτι σαν αυτό:
1. Label l = new Label()
2. .setName('Hello World')
3. .setColor('blue')
4. .show(zindex.top);
5. l.onClick = l.hide() ;
Το ερώτημά μου είναι το εξής:
Υπάρχει κάποιος άλλος APIs σχεδιασμό, αρχής γενομένης από ψευδο-κώδικα όπως αυτό;
Είναι μια καλή ιδέα για κάτι μικρό; Πείτε μέχρι 10 μαθήματα το καθένα με ίσως 10 διαφορετικές μεθόδους, κάθε μέθοδος όχι περισσότερο από ό, τι 5-6 γραμμές κώδικα μέσα σε αυτό. Αυτό είναι προφανώς μόνο μια πρόχειρη σύνολο αριθμών για να δείξει το μέγεθος των τάξεων πρέπει να σχεδιαστεί - πουθενά κοντά σε ένα πλήρες API και όχι μόνο ένα έργο χόμπι - ένα επαγγελματικό πακέτο που κάνει κάτι μικρό, αλλά το κάνει καλά .
Έχει κάποιος βρεθεί κάποια σοβαρά μειονεκτήματα σε αυτή την προσέγγιση;
Νομίζω ότι το ένα πραγματικό όφελος είναι ότι σας αναγκάζει να γράψετε περιπτώσεις χρήσης σας πρώτα .
Το άλλο πράγμα είναι ότι τα ουσιαστικά και τα ρήματα να μείνουν απλές , ώστε το τελικό προϊόν σας για να αποφύγει το MultiPhraseAbstractParadigmDesignPatternImplementor σύνδρομο :-D













