2008-09-16 12 views
7

Bazı POJO'larda bazı etki alanı mantığı var. Kullanıcının çeşitli etki alanı eylemlerinin sonuçlarını başlatmasını ve görmesini sağlamak için bir Swing kullanıcı arabirimi yazmak istiyorum.Swing GUI'nin etki alanı mantığı ile iletişim kurmanın en iyi yolu?

Kullanıcı Arabirimi ve etki alanı arasındaki iletişim için en iyi desen/çerçeve/kitaplık nedir? Bu aşağı kaynar:

  • UI etki alanı eylemi
  • alanı görüntüleme amacıyla UI geri bilgiyi/eyalet göndermek neden edememek bir kullanıcının jest dönüştürmek mümkün

MVC'nin geniş bir kavram olarak bilincindeyim ve Observer modeli ile (Java uygulamasının doğru bir şekilde anlaşılması durumunda bazı olumsuzlukları var) kandırdım, ama bu problem için kabul edilmiş en iyi uygulama olup olmadığını merak ediyorum.

cevap

2

Kesinlikle MVC - Bu example gibi bir şey açıkça şeyler böler hangi. Salıncak örneklerle sorun ancak asi zaman sizi biraz alır, bunlar

+0

Bu makale gerçekten iyi yazılmış görünüyor; Ben kontrol edip nasıl gittiğimi göreceğim. –

0

Ben ile geçmişte bazı başarı (AspectJ'yi büyü kullanarak) Gözlemci deseni kullanılmış, ama dikkatli olmadıkları sürece hızla küme .. ahh .. fiske haline geldiğini bulduk?

Hızla yönetimi zor ve en önemlisi hata ayıklaması çok zor oldu.

Düzenleme:

YMMV yüzden biz, salıncak değil, SWT kullanıyorlardı cevabım üzerine hafifçe genişletmek için. Temel olarak UI bileşenlerinden model nesnelerine veri aktarımını bağlamak için AspectJ'i kullandık. Bu model nesneler aptal POJO'lardı.

Gerçek iş mantığı, AspectJ ile model nesnelerini 'izleyerek' ve değiştirildiyse gerekli olayı kapattı. Dolayısıyla, bir metin kutusundaki bir değeri değiştirdiyseniz, AspectJ bu değeri atar ve POJO'ya bu değeri kopyalar. POJO'daki bu alanın iş mantığı için , ardından yangını olacak bir olayı varsa. Eğer bu mantık herhangi bir POJO'yu değiştirdiyse (ve olabilir) AspectJ, POJO'dan değeri UI bileşenine not edip kopyalayacaktır.

+0

Ne karıştırıyorsun düşünüyorum JavaBeans ile POJO'lar (http://en.wikipedia.org/wiki/POJO). İkincisi aptal veri depolarıdır, ancak eski aslında tam bir davranış/mantık yelpazesi ile zengin alan türleri olabilir. POJO'nun "sade" biti, herhangi bir belirli çerçeve veya teknolojiye bağımlı olmadığını gösterir. –

+0

Evet, kötüyüm. Yansıtılacak gönderi :) – SCdF

+0

@Andrew Swan: _former_'ın aptal veri depoları olduğu anlamına geldiğine inanıyorum, ama _latter_ gerçekten de tam bir davranış/mantık yelpazesiyle zengin alan adı türleri olabilir. –

0

MVC bir gereç için harika bana doğru görünmüyor tüm salıncak şeyler içinde çalışan MVC, göstermek gibi görünüyor olduğunu çok sayıda widget ile pages ve forms var. içine bakarak değer olabilir

bir şey (ve bunu onaylayarak değilim, ben aslında kullanmış değil, kendim için çok benzer sırf uygulanması şey) Beans Binding Framework (JSR295)

İlgili konular