Windows'ta MFC kullanılarak yazılmış bir uygulama var. Menü öğelerinin etkinleştirme/devre dışı durumu çok fazla duruma bağlıdır. Örneğin, A koşulunun yerine getirilmesi durumunda menü öğesini etkinleştirmem gerekiyor VEYA eğer B durumu uygunsa, ancak A ve B'nin ikisi de aynı anda TRUE ise devre dışı bırakılmalıdır. Bunu kodda nasıl modelliyoruz? Sanırım bir çeşit devlet makinesini kullanmalıyım, ama eyalet makinem çok fazla devlet içermekte gibi görünüyor. Bu tür sorunları ele almanın genel yolu nedir? Yukarıdakilerin sadece bir örnek olduğunu, bunun gibi daha birçok koşul olacağını unutmayın. Ayrıca, menüyü her zaman etkin tutma seçeneği ve kullanıcı bastığında bir hata mesajı gösterme seçeneği, menüyü devre dışı bırakmam gerekmediği için mevcut değildir.UI durumunun işlenmesi
Netleştirmek gerekirse, MFC'de menü öğelerinin nasıl devre dışı bırakılacağını değil, aralarında çok sayıda bağımlı durum olduğunda bir menü öğesinin etkin/devre dışı bırakılıp bırakılmayacağına karar vermenin en iyi yolu nedir? alakalıdır.
Downside, ancak, büyük bir iş mantığı yöntemi sahip olma riski olurdu :( – cwap
Ben de bunu düşündüm, ama UI tarafında olduğundan, bu gerçekten iş mantığı değil. Orada kararlar, sonra diğer sınıflar için çağrılar yapılmalıdır (yani, bazı iş mantığı sınıfında "isOptionValid()" çağrısı) –
Alınan nokta - Gerçekten iş mantığı değil, "ui mantığı" gibi .. – cwap