java:packages:naming

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Ονοματοδοσία πακέτων ====== Καθώς πολλοί προγραμματιστές φτιάχνουν κλάσεις για διάφορά προγράμματα είναι πολύ πιθανόν ότι τα ονόματα των κλάσεων πολλές φορές συμπίπτουν. Προκειμένου να αποφύγουμε συγκρούσεις ονοματοδοσίας (naming conflicts) μεταξύ κλάσεων, το πλήρες όνομα της κλάσης αποτελείται από το όνομα του πακέτου και το όνομα της κλάσης. Για παράδειγμα αν το όνομα του πακέτου σας είναι ''bicycles'' και το όνομα της κλάσης σας είναι ''MountainBike'', τότε το πλήρες όνομα της κλάσης σας είναι ''bicycles.MountainBike''. Με αυτόν τον τρόπο η δική σας κλάση διαφέρει από την κλάση MountainBike που υλοποιεί κάποιος άλλος προγραμματιστής και πιθανόν την έχει τοποθετήσει σε ένα πακέτο με όνομα ''equipment''. Παρά το γεγονός ότι το όνομα του πακέτου αποτελεί επιπλέον χαρακτηριστικό, δεν μπορούμε να αποκλείσουμε τα δύο πακέτα στα οποία ανήκει η κλάση με το όνομα ''MountainBike'' να έχουν το ίδιο όνομα. Για να αποφύγουμε και αυτές τις συγκρούσεις ονοματοδοσίας υιοθετούμε τους παρακάτω κανόνες. - Τα ονόματα των πακέτων χρησιμοποιούν πάντοντε μικρά γράμματα. Αν ένα όνομα έχει περισσότερα του ενός συνθετικά αυτά χωρίζονται μεταξύ τους με τελεία '.'. - Τα πακέτα που δημιουργούνται μέσα σε έναν οργανισμό ή εταιρία χρησιμοποιούν το ανεστραμμένο όνομα (reverse DNS) που διατηρεί ο οργανισμός ή η εταιρία στο internet. - Μια καλή πρακτική είναι εκτός από το όνομα του οργανισμού να χρησιμοποιείται και το όνομα του project ή το όνομα κάποιου άλλου χαρακτηριστικο (π.χ. μάθημα στο πλαίσιο του οποίου γράφτηκε το project ή διεύθυνση στην οποία υπόκειται το project κλπ). - Εάν δύο πακέτα μέσα σε ένα οργανισμό έχουν το ίδιο όνομα, τότε η σύγκρουση ονοματοδοσίας θα πρέπει να επιλυθεί μέσα στον οργανισμό. Παρακάτω δίνονται κάποια παραδείγματα πακέτων (packages), με βάση τα domain names των οργανισμών. ^ Όνομα project και οργανισμός ^ Package name ^ | homework 1 στο CE325 στο τμήμα inf.uth.gr | gr.uth.inf.ce325.homework1 | | project-name.company.com | com.company.project-name.package-name | | hyphenated-name.example.org | org.example.hyphenated_name | | 123name.example.com | com.example._123name | |Προηγούμενο: [[ :java:packages:intro | Πακέτα στη γλώσσα προγραμματισμού Java ]] | Επόμενο: [[ :java:packages:naming | Ονοματοδοσία πακέτων ]]|

java/packages/naming.1421929786.txt.gz · Last modified: 2016/02/26 11:15 (external edit)