Saya sudah mulai melihat ke Pola Desain baru-baru ini, dan satu hal yang saya koding akan cocok dengan pola Strategi dengan sempurna, kecuali untuk satu perbedaan kecil.
Pada dasarnya, beberapa (tetapi tidak semua) dari algoritma saya, memerlukan satu atau dua parameter tambahan yang diteruskan ke mereka.
Jadi saya juga perlu
- berikan parameter tambahan saat saya memanggil metode perhitungan mereka
atau
- menyimpannya sebagai variabel di dalam kelas ConcreteAlgorithm, dan dapat memperbaruinya sebelum saya memanggil algoritma.
Apakah ada pola desain untuk kebutuhan ini / Bagaimana saya bisa menerapkan ini sambil tetap berpegang pada Pola Strategi?
Saya telah mempertimbangkan untuk melewatkan objek klien ke semua algoritma, dan menyimpan variabel di sana, lalu menggunakannya hanya ketika algoritma tertentu membutuhkannya. Namun, saya pikir ini sulit, dan mengalahkan titik pola strategi.
Untuk lebih jelasnya saya menerapkan di Jawa, dan jadi tidak memiliki kemewahan parameter opsional (yang akan menyelesaikan ini dengan baik).