Aracılığıyla paylaş


Anlama modelleri, sınıflar ve ilişkileri

Bir etki alanına özgü dili (dsl) yazma herhangi bir özel program kodu ile birlikte kendi dsl tanım dosyası tarafından tanımlanır.dsl çözümde program kodunu çoğunu bu dosyadan oluşturulur.

Bu konuda, dsl tanımının merkezi özelliklerini açıklar.

dsl tanımı

Açtığınızda Dsl\DslDefinition.dsl, Visual Studio pencere aşağıdaki resme benzer.

DSL Tasarımcısı

dsl Definition diyagramında dsl tanımındaki en önemli bilgiler görüntülenir.Ayrıca DslDefinition.dsl bir parçası olan ek bilgi genellikle diyagramı tarafında görünür dsl Explorer görüntülenir.En sık kullanılan görevler için Diyagram ve daha gelişmiş özelleştirmeler dsl Explorer çalışırsınız.

dsl Definition Diyagram modeli öğeleri ve modeli öğeleri arasındaki bağlantıyı tanımlayan ilişkiler tanımlama etki alanı sınıfları gösterir.Şekilleri ve kullanıcıya modeli öğeleri görüntülemek için kullanılan bağlayıcıları gösterir.

Kulvarlı dsl tasarımcısı

Diyagramı veya dsl Explorer'da dsl tanımında bir öğe seçtiğinizde, bilgi Properties penceresinde görüntülenir.dsl Ayrıntılar penceresinde ek bilgiler görüntülenebilir.

Bb126288.collapse_all(tr-tr,VS.110).gifModelleri DSLs örnekleridir

A modeli bir kullanıcı tarafından oluşturulan dsl örneğidir.Bir modeli tanımladığınız etki alanı sınıfları ve tanımladığınız etki ilişkileri örnekleridir öğeler arasındaki bağlantılar örnekleridir modeli öğeleri içerir.Bir modeli de şekilleri ve bağlayıcıları, Diyagram üzerinde modeli öğeler ve bağlantıları görüntülemek olabilir.dsl tanımı Şekil sınıflarını, bağlayıcı sınıfları ve Diyagram için bir sınıf içerir.

dsl tanım olarak da bilinir bir etki alanı modeli.Etki alanına özgü dil çalışma zamanı örnekleme modeli ile ilgiliyken dsl tanımı ya da etki alanı modeli etki alanına özgü dil tasarım zamanı gösterimidir.

Modeli öğeleri etki sınıflarını tanımla

Etki alanı sınıfları etki alanında çeşitli öğeleri oluşturmak için kullanılır ve etki alanı ilişkilerini öğeler arasındaki bağlantıdır.Öğeleri ve bunların modelleri oluştururken, tasarım özgü dil kullanıcılar tarafından oluşturulacak bağlantılar tasarım zamanı gösterimi kullanılırlar.

Bu örnekte, Müzik kitaplığı dsl kullanıcı tarafından oluşturulan bir modeli gösterilmiştir.Müzik albümleri şarkı listelerini içeren kutularla temsil edilir.Sanatçılar, yuvarlak köşeli kutular tarafından temsil edilir ve dahil edilmiş albümleri bağlanır.

Oluşturulan DSL modeli örneği

dsl tanım iki yönü ayırır.Modeli öğeleri üzerinde model Diyagramı görünümünü şekil sınıfları ve bağlayıcı sınıfları kullanılarak tanımlanır.Model içinde taşınan bilgiler, etki alanı sınıfları ve etki alanı ilişkisi kullanılarak tanımlanır.

Aşağıdaki resimde, Müzik kitaplığı dsl tanımında etki alanı sınıfları ve ilişkileri gösterir.

Gömme ve başvuru ilişkileri

Dört etki alanı sınıfları çizimde gösterilmektedir: müzik, albüm, sanatçı ve şarkı.Etki alanı sınıfları, etki alanı adı, başlık vb. gibi özellikleri tanımlar.Örnek modelinde, değerleri, bu özelliklerin bazıları Diyagram üzerinde görüntülenir.

Etki alanı ilişkileri arasında sınıflardır: MusicHasAlbums, MusicHasArtists, AlbumbHasSongs ve ArtistAppearedOnAlbums.Multiplicities 1..1, 0 gibi ilişkilerin... *.Örneğin, her şarkı için tam olarak bir albüm AlbumHasSongs ilişkisi aracılığıyla ilgili gerekir.Her albüm şarkılardan herhangi bir sayı olabilir.

Bb126288.collapse_all(tr-tr,VS.110).gifdsl tanım diyagramı yeniden düzenleme

Bu resim albümü gibi bir etki alanı sınıf dsl Definition Diyagram üzerinde birkaç kez görünebilir dikkat edin.Her zaman bir ana görünümü vardır ve olabilir bazı başvuru görünümler.

dsl Definition diyagramı yeniden düzenlemek için şunları yapabilirsiniz:

  • Ana takas ve görünümleri kullanarak başvuru Ağaç buraya Getir ve Bölünmüş ağaç komutları.Bir tek etki alanı sınıfı bu komutları görmek için sağ tıklatın.

  • Etki alanı sınıfları ve şekil sınıfları Ctrl + yukarı ve Ctrl + Alt tuşlarına basarak yeniden sıralar.

  • Daraltma veya sınıfların her şeklin üst-sağ tarafta simgesini kullanarak genişletin.

  • Ağaç parçalarını, alt etki alanı sınıfının eksi işareti (-) tıklatarak daraltın.

Kalıtım

Etki alanı sınıfları, devralma kullanılarak tanımlanabilir.Devralma türetme oluşturmak için devralma aracını tıklatın, türetilmiş bir sınıf'ı tıklatın ve temel sınıf'ı tıklatın.Bir modeli öğesini temel sınıfından devralınan özellikleri ile birlikte kendi etki alanı sınıfında tanımlanan tüm özellikler vardır.Ayrıca, ilişkilere rolleri devralır.

Devralma ilişkiler, şekilleri ve bağlayıcıları kullanılabilir.Miras, aynı grup içerisinde tutmalısınız.Bir şekil, bir etki alanı sınıftan devralamaz.

Etki alanı ilişkileri

Modeli öğeleri ilişkileriyle bağlantılı olabilir.Bağlantıları her zaman ikili; Bunlar tam olarak iki öğe bağlama.Ancak, herhangi bir öğenin diğer nesnelere çok sayıda bağlantı içerebilir ve öğeleri aynı bilgisayar çiftine arasında birden fazla bağlantı bile olabilir.

Farklı öğe sınıfı tanımlayabileceğiniz gibi bağlantıları farklı sınıfları tanımlayabilirsiniz.Sınıf bir bağlantının adı verilen bir etki alanı ilişkisi.Bir etki alanı ilişkisi öğenin hangi sınıfların örneklerini bağlanabileceğini belirtir.Bir ilişkinin her iki ucunda adlı bir Rol, ve ilişkinin gibi iki rolü için de adları etki alanı ilişkisini tanımlar.

Etki alanı ilişkilerini iki tür vardır: ilişkiler ve başvuru ilişkilerin katıştırma.dsl Definition Diyagram gömme ilişkileri her role daha düz çizgiler sahip ve başvuru ilişkileri satırları çizgili.

Bb126288.collapse_all(tr-tr,VS.110).gifİlişkiler katıştırma

Her öğenin kendi kök haricinde bir modelinde bir gömme bağlantı hedefidir.Bu nedenle, tüm model bağlantılar katıştırma tek bir ağaç oluşturur.Gömme bir ilişki, içerik ve sahipliğini temsil eder.Bu yolla ilgili olan iki model olarak da bilinen üst ve alt öğeleridir.Alt üst gömülmesini kabul edilir.

Gömme bağlantılar genellikle açıkça bir Diyagram üzerinde bağlayıcılar olarak gösterilmez.Bunun yerine, bunlar genellikle kapsamlarına göre temsil edilir.Modeli kök Diyagram tarafından temsil edilir ve katıştırılmış öğeler olarak şekilleri diyagram üzerinde görüntülenir.

Örnekte, kök sınıf müzik şarkı için gömme bir AlbumHasSongs sahip albüm MusicHasAlbums gömme bir ilişki vardır.Şarkıların her albüm içinde liste öğeleri olarak görüntülenir.Müzik örnekleri de şekilleri diyagram üzerinde görünür sanatçı sınıfına gömme bir MusicHasArtists de vardır.

Varsayılan olarak, katıştırılmış öğeler, Ebeveynlerin silindiğinde otomatik olarak silinir.

Ne zaman bir model olarak kaydedilen seri hale getirme özelleştirmiş sürece xml formunda dosyasına katıştırılmış öğeler Ebeveynlerin içinde yuvalanmıştır.

[!NOT]

Gömme devralma ile aynı şey değildir.Gömme bir ilişkide çocuklar, Ebeveynler özellikleri devralmaz.Bir gömme modeli öğeler arasındaki bağ türüdür.Miras, sınıflar arasındaki bir ilişkidir ve modeli öğeler arasındaki bağlantılar oluşturmaz.

Bb126288.collapse_all(tr-tr,VS.110).gifKuralları katıştırma

Her öğenin bir örneği modelinde model kökü haricinde tam olarak bir gömme bağlantısının hedefi olmalıdır.

Bu nedenle, kök sınıf dışında her soyut olmayan etki alanı sınıf gömme ilişkinin en az bir hedef olmalıdır veya gömme Temel sınıftan kalıtımla gerekir.Bir sınıf, iki veya daha fazla katıştırılmış hedefinin ancak örnek modeli öğeleri bir kerede yalnızca bir üst olabilir.Hedef alınan multiplicity kaynağına, 0..1 veya 1..1 olması gerekir.

Bb126288.collapse_all(tr-tr,VS.110).gifExplorer gömme ağacını görüntüler.

dsl tanımınızı bkz: kullanıcılar kendi model diyagramı bir gezgin de oluşturur.

DSL, oluşturulan explorer

Explorer modelinde, olanlar şekilleri tanımlamadınız tüm öğeleri gösterir.Öğeleri ve gömme ilişkileri gösterir, ancak ilişkileri değil, başvuru.

Etki alanı özellikleri öğesinin değerlerini görmek için kullanıcı model diyagramı veya modeli Explorer'da bir öğe seçer ve Özellikler penceresi açılır.Bu diyagramda görüntülenen değil de içeren tüm etki alanı özelliklerini görüntüler.Örnekte, her eserin başlık hem bir Tarz var, ancak yalnızca başlık değeri Diyagram üzerinde gösterilir.

Başvuru ilişkileri

Bir başvuru ilişkisi olmayan katıştırma ilişki, her türlü temsil eder.

Başvuru ilişkiler genellikle bağlayıcılar şekilleri arasında bir Diyagram üzerinde görüntülenir.

Model xml betimlemesi iki öğe arasında başvuru bağlantısı kullanılarak temsil takma ad. Diğer bir deyişle, takma adların modelindeki her öğesi benzersiz olarak tanımlayan adlarıdır.Her model öğesi için xml düğümü ilişkinin adını ve diğer öğenin ad belirten bir düğüm içeriyor.

Roller

Her etki alanı ilişkisi, iki rolü, kaynak rolü ve hedef rolü yoktur.

Aşağıdaki resimde, Publisher etki sınıfı ve PublisherCatalog etki alanı ilişkisi arasındaki çizgiyi kaynak rolüdür.Etki alanı ilişkisi ve albüm etki sınıfı arasındaki çizgiyi hedef rolüdür.

Rolleri ve özellikleri.

Model erişir program kodu yazarken bir ilişki ile ilişkilendirilen adların özellikle önemlidir.Örneğin, dsl çözüm oluşturduğunuzda, Publisher üretilen sınıfın albümleri topluluğudur katalog özelliği vardır.Albüm sınıfı, Publisher Publisher sınıfının tek bir örneği olan bir özelliğe sahiptir.

dsl tanımında bir ilişki oluşturduğunuzda, özellik ve ilişki adları varsayılan değerleri verilir.Ancak, bunları değiştirebilirsiniz.

Multiplicities

Multiplicities kaç öğeleri aynı rolü etki alanı ilişkisi olabilir belirtin.Örneğin, sıfır çok (0.. *) Katalog rolünde multiplicity ayarı belirtir, vermek istediğiniz gibi çok PublisherCatalog ilişki bağlantılar herhangi bir sınıfın örneği, Publisher etki alanı olabilir.

Diyagram üzerinde yazarak veya değiştirerek bir rol iþlenenlerle yapılandırma Multiplicity özelliğinde özelliklerini pencere.Aşağıdaki tabloda, bu özellik ayarları açıklanmaktadır.

Multiplicity türü

Description

0.. * (Çoğu sıfır)

Her sınıfın örneği, etki alanı, birden çok ilişki örneklerini ya da hiçbir ilişki örneklerini sağlayabilirsiniz.

0..1 (Bir sıfır)

Her sınıfın örneği, etki alanı, birden fazla örneğini ilişki ya da hiçbir ilişki örneklerini sağlayabilirsiniz.

1..1 (Bir adet)

Her sınıfın örneği, etki alanı ilişkinin bir örneği olabilir.Herhangi bir rol sınıfı örneğinden, bu ilişkinin birden çok örneğini oluşturamazsınız.Doğrulama etkin olduğunda hiçbir ilişkisi örneği herhangi bir rol sınıf örneğinin sahip olduğunda bir doğrulama hatası görüntülenir.

1.. * (Bir çoğu)

Bu multiplicity sahip olan rolüne sınıfın her örneği ilişkinin birden çok örneği olabilir ve her örnek ilişkinin en az bir örnek olması gerekir.Doğrulama etkin olduğunda hiçbir ilişkisi örneği herhangi bir rol sınıf örneğinin sahip olduğunda bir doğrulama hatası görüntülenir.

Sınıflar olarak etki alanı ilişkileri

Bağlantı deposu ModelElement türetilmiş bir sınıf olan LinkElement bir örneği olarak temsil edilir.Etki alanı modeli diyagramında, etki alanı ilişkileri bu özellikler tanımlayabilirsiniz.

Kaynak veya hedef diğer ilişkileri bir ilişki de yapabilirsiniz.Etki alanı modeli diyagramında etki alanı ilişkisi'ı Show Class.Ek sınıf kutusu görünecektir.Sonra ona ilişkileri bağlanabilirsiniz.

Etki alanı sınıflarıyla gibi kısmen devralma yoluyla bir ilişki tanımlayabilirsiniz.Türetilmiş ilişkiyi seçin ve set Temel ilişkisinin Properties penceresinde.

Türetilmiş bir ilişki temel ilişkisini uzmanlaşmış.Etki alanı bağlantılarını türetildiği o BT veya bağlı temel ilişki sınıfları aynı sınıfları.Bir modelinde türetilmiş ilişkinin bir bağlantı oluşturulduğunda, türetilmiş ve temel ilişkiler örneği olur.Program kodunda Bankası veya türetilmiş bir sınıf tarafından üretilen özelliklerini kullanarak bağlantı karşıt sonuna gidebilirsiniz.

Ayrıca bkz.

Kavramlar

[yönlendirme] Etki alanında oluşturulan API ilişkilerde

Diğer Kaynaklar

Domain-Specific Language Tools Glossary