Son iki yılda bazı veri tabanlı Winforms Uygulaması geliştirdim ve her şey iyi çalışıyor. Bu uygulama katmanları (DataAccess, İş Mantığı ve UI) üzerine kurulmuştur.Gözlemlenebilir Toplama (Of T) vs BağlamaList (Of T)?
Public MustInherit Class BaseEntity Inherits SerializableObject Implements IEntity Implements IComparer, _ IEditableObject, _ INotifyPropertyChanging, INotifyPropertyChanged, _ IApplicationSecurity End Class
aynı çekirdek kütüphanesinde: Sekreterliği Açık Mantık için, bütün nesne aşağıdaki tanım (çerçeve elemanları ile birlikte, bazı özel amaçlar ve arabirimler bulunmaktadır) ile BaseEntity adı verilen bir temel sınıfından , BaseEntityCollection genel bir temel koleksiyonum var. Bu koleksiyon, her nesne için, veri tabanlı uygulamalarda, çok sıkı bir şekilde yazılmış, güçlü bir şekilde yazılan koleksiyonunu tanımlamamı sağlıyor. Burada baz tanımı aşağıda olduğu:
Public MustInherit Class BaseEntityCollection(Of T As BaseEntity)
Inherits BindingList(Of T)
Implements IEntityCollection
Implements INotifyPropertyChanged, INotifyPropertyChanging, ICopyable(Of T)
Implements IDisposable
Implements ISerializable
End Class
Gördüğünüz gibi, ben Win doğru veri bağlama için ihtiyaç duyulan tüm malzeme kullanın: nesne için
- INotifyPropertyChanged, INotifyPropertyChanging, IEditableObject.
- Koleksiyonum için BindingList (Of T) temelli bir koleksiyon.
Ayrıca yeni teknolojilerle de tanıştım, bu yüzden kısa bir süre önce WPF ile ilgili bazı web yayınlarını izledim. Bu web yayınında, toplama ve veri bağlama desteği için GözlemlenebilirKoleksiyon (Of T) için temel sınıf olarak kullanılırlar.
Ben UI Katmanı için WPF için taşınamayacak üzerinde Win benim bazı uygulamaların düşünüyorum.
Sorum şu ki, iş mantığım için, koleksiyonlarımın BindingList (Of T) temelli olması daha iyi olur mu, yoksa temel koleksiyon sınıfımı, ObservableCollection (Of T) 'den miras alması için değiştirmeliyim. Tüm projelerim için Winforms Uygulamaları, WPF Uygulaması veya ASP.NET'te kullanılabilecek benzersiz bir temel koleksiyon tutmak istiyorum. Ayrıca projelerimde Nesneler için Linq kullanıyorum, bu yüzden projelerimi yalnızca çerçeve 2.0'a dayanarak kısıtlamıyorum.
sayesinde
Claber
'ObservableCollection' parçacığı güvenlidir, BindingList hakkında bilmiyorum. – Shimmy
Bu doğru değil. Microsoft'un belgeleri, ObservableCollection'ın iş parçacığı güvenli olmadığını açıkça belirtir. http://msdn.microsoft.com/en-us/library/ms668604.aspx – kevindaub
ObservableCollection Collection devralır ve Koleksiyon IList arabirimini uygulamak ETMEZ beri 1 ifadesi yanlıştır. –