2009-12-24 13 views
5

MVC patter, bir çok sınıf nesneyi birbirine bağlamak için delegeler kullanır. Qt için bunlar sinyaller ve yuvalardır, C# için onlar olaylardır, Java için bunlar kapanır. Ama bildiğim tüm diyagramlar ve UML tasarımcıları sadece miras ve çocuk-ebeveyn kompozisyonu ile çalışırlar :(. Görselleri sınıfsal çizme, temsilciler tasarlama, delegeleri uç noktalara bağlama ve böyle bir 'model' temelinde kod üretme olanağı veren herhangi bir yazılım var mı?Kod üretimi ile MVC kalıbı için herhangi bir diyagram yazılımı var mı?

açıklama yukarıda doğru olmayabilir.:. i terminolojide çok derin değilim herkes bu soruyla ilgili her türlü açıklamayı istiyorsanız, ben ne olduğu tam olarak açıklığa kavuşturmak wll, yorum lütfen

+3

diyagramlarından kod nesil unutun. –

+0

Böyle bir CASE aracından ne bekliyorsunuz? UML sınıf diyagramları kodunuzun statik yapısını açıklar, bu nedenle kod oluşumu bir dereceye kadar (belirli bir dereceye kadar) mantıklı olabilir. Olay işaretleme/dinleme/abone, nesnede veya iç işlevde (sınıfta değil) bir yerde meydana gelen ve iş ve/veya GUI mantığını içerebilen oldukça dinamik bir şeydir. Belki de bir faaliyet şeması bağlamında çalışırdı, ama şüpheliyim ki o zaman bu kodlar sizin kodunuzla aynı yararlanma seviyesinde olacak ve kod üzerinde hiçbir fayda sağlamayacaktır. –

+0

Temel olarak, "giden sinyaller" ve "sinyal işleyici" gibi şeyleri destekleyen ve görsel olarak bu nesne ilişkisini tasarlayabilen bir görsel tasarımcının olmasını bekliyorum. Temel kod oluşturma desteği, kuramsal olarak, bir diyagramın kodu nasıl dönüştüreceğine ilişkin kuralları tanımlamamı sağlayacaktır. – grigoryvp

cevap

1

MDA'yı başarılı bir şekilde uygulayabilmenin tek yolu, başka bir yoldur. Modeli akıcı bir DSL'de tanımlayın ve ihtiyacınız olan şemaları oluşturun.

TogetherJ ve Enterprise Architect'i kullandım, ancak etkilendim. Güzel diyagramlar, berbat iş akışı. Smalltalk ortamını (tercihen MOOSE ile) ve birkaç diyagram jeneratörü tercih ederim. Eğer bir şey serbest/açık kaynak arıyorsanız

2

AndroMDA bir oluşturmak için desteği vardır Bir uygulamanın akışını tanımlayan bir UML modelinden web kullanıcı arabirimi: Getting Started Java dokümantasyonundan Search Criteria Panel belgesine bakın. AndroMDA BPM4Struts kartuşunu kullanırsanız, sunum katmanı MVC tabanlı olacaktır. ama aradığın şey bu.

PS: MDA geçmişi başarılı deneyimlerle dolu değildir - ve bu bir örtmece - ve ben iyi deneyimleri yaşadım

5

(hatta daha az sunum katmanı) Bu yaklaşımı tavsiye etmem Sparx System's Enterprise Architect. Tam fonksiyonel 30 günlük deneme sürümünü indirebilirsiniz.

+0

+1 Kod üretimi için gerçekten çok iyi bir araç –

+0

mu? –

+0

+1, Enterprise Architect kullanmayı seviyorum, ancak genellikle yerleşik kod oluşturma yeteneklerini kullanmıyorum; Modeline C# komut dosyasından erişmeyi tercih ediyorum, bu yüzden kod üretecimi yapıyorum; Bu –

2

, her zaman var:

StarUML

+0

istediğim bir şey yaratmak için esneklik sağlar, ben kontrol ettim, ancak bir ilişkiyi imzalamak için herhangi bir yol bulamadım. – grigoryvp