Reverse Domain Notation berasal dari Jawa, tetapi banyak digunakan di banyak platform, seperti Paket Android, Paket Mac OS X, JavaScript, ActionScript, dan banyak lagi.
Praktek ini sangat berguna karena menyediakan sistem yang terdesentralisasi untuk perangkat lunak namespacing. Tidak perlu menerapkan ke agen terpusat untuk namespace; cukup gunakan nama domain yang Anda miliki (terbalik) dan kelola di dalam organisasi Anda sendiri. Dengan menamai paket-paket seperti ini, seseorang dapat hampir yakin bahwa kode tersebut tidak akan bertentangan dengan paket-paket lain.
Dari Tutorial Java Oracle :
Perusahaan menggunakan nama domain Internet terbalik mereka untuk memulai nama paket mereka misalnya, com.example.mypackage untuk paket bernama mypackage yang dibuat oleh seorang programmer di example.com.
Tabrakan nama yang terjadi dalam satu perusahaan perlu ditangani dengan konvensi di dalam perusahaan itu, mungkin dengan memasukkan wilayah atau nama proyek setelah nama perusahaan (misalnya, com.example.region.mypackage).
Ini lebih dari sekadar praktik hafalan, ini praktik yang baik karena namespace yang lengkap dan sepenuhnya spesifik . Jika ada dua perusahaan bernama Acme dan keduanya memilih namespace acme.
, kode mereka akan konflik. Tetapi hanya satu dari perusahaan tersebut yang dapat memiliki domain acme.com , sehingga mereka dapat menggunakan com.acme.
namespace.
Membalikkan nama domain memungkinkan untuk arsitektur top-down. com
akan berisi kode untuk perusahaan (atau siapa pun yang memiliki nama domain .com), dan di bawahnya adalah nama perusahaan (domain). Kemudian, lebih dalam di dalamnya adalah struktur organisasi dan / atau namespace yang sebenarnya. (Misalnya, jika itu adalah kode dari jaringan yang disebut internal.acme.com , yang memberikan departemen ini sub-namespace mereka sendiri com.acme
.) Struktur top-down ini digunakan dalam sejumlah aplikasi, termasuk dalam administrasi sistem. (Ini mirip dengan membalikkan lookup alamat IP.)
Secara pribadi, saya menggunakannya untuk semua kode JavaScript baru yang saya tulis untuk perusahaan saya. Ini memastikan bahwa kode tidak akan pernah bertentangan dengan kode lain, bahkan jika saya nanti menulis kode yang sama untuk perusahaan lain. Itu dapat membuat mengakses kode rumit (mengetik com.digitalfruition.
bisa mendapatkan banyak) tetapi itu dapat dengan mudah dikerjakan dengan penutupan dan variabel lokal ( var DF = com.digitalfruition
).