Bir programa yeni yapılandırma seçenekleri eklerseniz, seçeneklerin gerçekleştirilmesi gereken yerlere ulaşması açısından tonlarca dalgalanma etkisi olabilir. Bununla başa çıkmanın üç temel yolu var:
Tüm yapılandırma ayarlarını programınızın açıkça ilkel olarak ihtiyaç duyan kısımlarına iletin. Bu, en açık yol ve şeyleri en çok birbirinden ayıran yöntemdir. Dezavantajı, bunun hem ayrıntılı hem de kırılgan olmasıdır.
En sık kullanılan yapılandırma ayarlarını genel / statik yapın. Bu en basit yoldur, ancak uzaktan işlem yapar, test edilebilirliği engeller ve yapılandırmanın gerçekten küresel olduğunu varsayar (herhangi bir zamanda yalnızca bir yapılandırma isteyeceksiniz).
Tüm program için veya programdaki her önemli sorun için tüm yapılandırma seçeneklerini içeren bir yapılandırma sınıfı / yapısı oluşturun ve ardından bunu açıkça iletin. Bu, (1) 'den daha az açık ancak (2)' den daha açıktır. Yalnızca bir işlev çağrısı için bir ayarı değiştirmek isterseniz, yapılandırma nesnesini klonlayabilir ve bu bir değeri değiştirebilirsiniz. Bu hem testte hem de pratikte kullanışlıdır. Bununla birlikte, potansiyel olarak tonlarca bilgiyi ihtiyaç duymadığı bir işleve geçirirsiniz ve config sınıfında / yapıda bir değeri değiştirmek yine de uzaktan harekete neden olabilir.
(3) bir örüntü mü yoksa anti-örüntü mü düşünürdünüz? Bu bir anti-desense, bunun yerine ne yaparsınız?