Saya baru saja menemukan konsep pelaporan fitur, dan lib Java open source yang populer untuk ini disebut Togglz, yang mengutip postingan blog Martin Fowler:
Ide dasarnya adalah memiliki file konfigurasi yang mendefinisikan sekumpulan tombol untuk berbagai fitur yang Anda tunggu. Aplikasi yang berjalan kemudian menggunakan tombol ini untuk memutuskan apakah akan menampilkan fitur baru atau tidak.
Namun bagi saya, ini terdengar seperti otorisasi: Apakah pengguna diizinkan untuk melihat konten ini?
Misalnya, Haruskah pengguna dapat melihat menu FizzBuzz atau tidak?
Di Togglz saya mungkin menerapkan pemeriksaan ini seperti:
if(MyFeatures.ShowFizzBuzz.isActive()) {
// Show the FizzBuzz menu.
}
Misalnya, di Apache Shiro, saya bisa melakukan hal yang persis sama:
ShowFizzBuzzPermission showFizzBuzz = new ShowFizzBuzzPermission();
if(currentUser.isPermitted(showFizzBuzz) {
// Show the FizzBuzz menu.
}
Sekali lagi, penandaan fitur terasa sama persis dengan masalah pemeriksaan peran atau izin.
Saya yakin saya salah, tapi saya tidak tahu caranya. Jadi saya bertanya: Apa perbedaan penandaan fitur dengan otorisasi dan pemeriksaan peran/izin, dan jenis kasus penggunaan konkret apa yang menunjukkan perbedaan ini? Dengan kata lain: Kapan saya harus menggunakan pemeriksaan otorisasi/peran/izin, dan kapan saya harus menggunakan tanda fitur?