Seperti yang dikatakan orang lain, idealnya kelas pendapatan pekerja akan memungkinkan parameterisasi konstanta, membuat kelas ini independen dari nilai itu.
Pada akhirnya, aplikasi panggilan juga memungkinkan untuk parameterisasi dalam hal konfigurasi eksternal (misalnya file). Setelah kita memiliki konfigurasi eksternal, kita dapat mengubah tarif pajak - meskipun mempertimbangkan bahwa jika file konfigurasi hanya dibaca sekali pada saat startup, maka aplikasi harus direstart agar persentase pajak yang diperbarui berlaku, sehingga ada sesuatu yang harus tetap dalam pikiran. Kami dapat menyediakan fitur aplikasi untuk membaca ulang konfigurasi ketika diarahkan untuk melakukannya, atau kami mungkin menyediakan mekanisme yang lebih rumit yang memperhatikan ketika file konfigurasi berubah ...
Jangka panjang, Anda mungkin menemukan bahwa masalah pajak membutuhkan lebih dari sekadar persentase - misalnya, bahwa suatu hari undang-undang pajak lebih kompleks dan memerlukan beberapa persentase dan beberapa konstanta (misalnya jumlah di bawah $ 10 ribu dikenakan pajak X%, sedangkan sisanya dikenakan pajak pada Y%).
Ini pada dasarnya menyarankan menggunakan pola strategi, di mana kelas utama yang dimaksud di sini menerima objek strategi untuk menghitung pajak.
Berbagai strategi (dan% 's dan $ konstanta) harus dapat dipilih dari file konfigurasi, dan sekarang, menambahkan strategi baru memerlukan penambahan beberapa kode baru, tetapi belum tentu pembaruan untuk kode yang ada.
Setiap strategi mungkin tahu bagaimana mem-parsing / menafsirkan argumen konfigurasi eksternal sendiri, bersama dengan cara menghitung pajak aktual.
Secara dinamis, pajak lebih lanjut tergantung pada pemerintah setempat, jadi Anda mungkin memiliki lokal yang terkait dengan penghasilan atau dengan karyawan (atau keduanya). Dalam konfigurasi eksternal, kami mungkin mengaitkan lokal dengan strategi pajak.
Lihat juga injeksi ketergantungan , tempat kami mengelola hal-hal ini dengan jelas.