2016-04-05 20 views
1

Ben GUI programlama dünyasına oldukça yeni ve C# yapıyorum bir uygulama için basit bir GUI yazdım. GUI, sadece tek bir pencere formundan oluşan oldukça basittir. Sorum şu GUI'ler ve kullanıcı girişleri ile Nesne Yönelimi için standart uygulamalar ile ilgilidir.C# - Windows Form Tasarımı

GUI sınıfımda şu anda tüm GUI ile ilgili nesneler (düğmeler, etiketler, seçim kutuları vb.) Için üye değişkenleri var, ancak aynı zamanda kullanıcı girişlerini saklayan değişkenlerim var (örneğin, selectedFilePath, latIndex, longIndex, vb.) .) kullanıcı tıkladığı zaman değerlerini diğer nesnelere aktaracaktır. Bu değişkenler, bir buton tıklanıncaya kadar aynı sınıfta tutmak ve sonra başka bir nesneye geçmek veya başka bir nesne oluşturmak için mi yoksa başka bir şey mi yapmalıyım?

akım UML sınıf diyagramı: Sample Class Diagram

Dave

cevap

2

Hayır, o kadar temiz ve hafif (ve dolayısıyla olarak test edilebilir UI tutmak için sunum mantığı katmanından UI katmanı ayırmak için standart bir uygulama) olabildiğince. Bu ayrıca separation of concerns'a bağlı kalmanın ek yararına sahiptir. Bunu gerçekleştirmek için öğrenebileceğiniz birçok desen vardır: MVVM, MVC, MVP, vb.

Genellikle, UI sınıflarınızın yalnızca belirli UI teknolojisine (örn. Denetimler, vb.) Ilişkin özel öğelerini içermesini istiyorsunuz.

Böylelikle, tüm kullanıcı arabirim öğeleriniz için sahte sınıflar oluşturabilir ve daha sonra sunum mantığına ve altta yatan iş ve etki alanı mantığına karşı testler oluşturmak için favori test çerçevenizle kullanabilirsiniz.

+0

Teşekkürler roryap, bunu yapmanın doğru yolu olmadığını hissettim ve şimdi biliyorum. Sadece yanlış olması için bir şey yapmaya başlamak istemedim. –

+0

@DaveT - Sorun değil. İyi şanslar. –