Desenler yapı taşları değildir - bu yüzden MVC / MVP desenleri üzerinde bir uygulama oluşturmamalıyım?


9

Bu sayfayı tasarım modelleri ve kodunuzu yazarken nasıl ele almanız gerektiği hakkında okudum . Anladığım kadarıyla, bağlantıdaki başlığın belirttiği gibi:

Desenler yapı taşları değildir.

Doğru anlarsam, bu bir tasarım deseni kullanmanın mantıklı olana kadar kullanılmaması anlamına gelir, değil mi? Strateji Desenini kullanacağınızı söylemeye başlamayın, bir kod yazana kadar bekleyin ve Strateji Desenini kullanmak tasarımınız için anlamlıysa, onu kullanın.

GUI uygulamaları oluştururken MCV / MVP modeline aynı şekilde davranıyor muyum? İlgili bağlantılardan, bunun mimari bir desen olduğunu söylüyor.

Bir GUI uygulaması oluşturursam ve MCV / MVP kalıbını kullanmıyorsam, ancak kodum temiz, okunabilir ve bakımı yapılabilirse, hala MCV / MVP kalıbını kullanmadığım bir kod kokusu / kötü tasarımı olduğunu varsayalım ?

Yanıtlar:


18

Doğru anlarsam, bu bir tasarım deseni kullanmanın mantıklı olana kadar kullanılmaması anlamına gelir, değil mi?

Evet.

Strateji Desenini kullanacağınızı söylemeye başlamayın, bir kod yazana kadar bekleyin ve Strateji Desenini kullanmak tasarımınız için anlamlıysa, onu kullanın.

Evet. Teknik olarak, herhangi bir kod yazmadan önce strateji modelinin uygun olduğunu fark edebilirsiniz, ancak bunun nedeni, gerçek problemi düşünüyor olmanız ve bu sorun için bir çözüm tasarlamanız anlamına geliyordu.

GUI uygulamaları oluştururken MCV / MVP modeline aynı şekilde davranıyor muyum? İlgili bağlantılardan, bunun mimari bir desen olduğunu söylüyor.

Evet, MVC / MVP / vb mimari desenlerdir. Bir anlamda, bu bir fark yaratmaz çünkü hala mantıklı olduklarında MVC / MVP / etc'yi kullanmalısınız; çözmeye çalıştığınız asıl sorun için makul bir uyum olduğunda. Bir fark yarattığı yerde, örneğin Strateji modelinden çok daha yüksek bir seviyede uygulandığı için, genellikle mantıklı olup olmadığını anlayacak ve bunu bir parçası olarak kullanıp kullanmayacağınıza karar vereceksiniz. çok fazla kod yazmadan önce tasarım çalışmalarınız.

Ayrıca, "MVC / MVP" nin tek bir desen değil, ilgili desenlerin çok büyük bir ailesi olduğunu ve "MVC" veya "MVP" veya "MVVM" veya geri kalanının tam olarak neyin sayıldığına dair bir fikir birliği olmadığını unutmayın. ilişkili alfabe çorbası.

Bir GUI uygulaması oluşturursam ve MCV / MVP kalıbını kullanmıyorsam, ancak kodum temiz, okunabilir ve bakımı yapılabilirse, hala MCV / MVP kalıbını kullanmadığım bir kod kokusu / kötü tasarımı olduğunu varsayalım ?

Hiç değil, çünkü MVC / MVP / etc her GUI uygulaması için doğru değil. Örneğin, bazı GUI'ler aşırı basit olacak kadar basit olabilir veya bazı GUI'ler "model" koymak için kalıcı bir duruma sahip olmayabilir. Vb. Örüntü ailesinin bu kadar popüler olmasının iyi nedenleri vardır, ancak iyi bir GUI yazılımı yazmanın tek yolu değildir.

Ayrıca, "kod kokusu" genellikle daha büyük bir sorunun belirtisi olabilecek belirli bir kod snippet'i hakkında bir şey ifade eder. Kodunuzun tamamı "temiz, okunabilir ve bakımı yapılabilir" ise, istisnasız olarak, neredeyse tanım gereği herhangi bir kod kokunuz olmaz (gerçek problemleri göstermeyen "yanlış pozitif" kod kokuları hariç) ).

Sorunuzun başlığını cevaplamak için: "MVC / MVP Kalıbı nasıl tedavi edilir?" Diyebilirim: Bu kalıpların neden bu kadar popüler olduğunu, yani hangi problemleri çözmeye çalıştıklarını okuyun, böylece gelecekte en son sorununuzun bu kalıplarla çözülüp çözülemeyeceğini anlayabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.