Aracılığıyla paylaş


Bir etki alanına özgü dil kişiselleştirmek için kod yazma

Bu bölümde, özel kod erişimi değiştirebilir veya bir etki alanına özgü dilde bir model oluşturmak için nasıl kullanılacağını gösterir.

dsl ile çalışan kod yazma çeşitli içerikleri şunlardır:

DslDefinition.dsl tanımlayan sınıfları adı verilen bir veri yapısı içinde tutulan Bellek deposu (IMS) veya deposu.dsl her zaman tanımlama sınıfların bir mağaza yapıcısına argüman olarak uygulayın.Örneğin dsl örnek adında bir sınıfı tanımlar:

Example element = new Example (theStore);

nesneleri (yerine gibi sýradan nesneler) deposunda tutulması birçok yarar sağlar.

  • Hareketleri.Bir dizi ilgili değişiklikleri bir hareket halinde gruplandırabilirsiniz:

    using (Transaction t = store.TransactionManager.BeginTransaction("updates"))

    {

    // make several changes to Store elements here

    t.Commit();

    }

    Son Commit() değil gerçekleştirilen değişiklikler sırasında bir özel durum oluþursa, deponun önceki durumuna sıfırlar.Bu hataları modeli tutarsız bir durumda kalmadığından emin olmak için size yardımcı olur.Daha fazla bilgi için bkz. Gezinme ve Program kodunda bir modeli güncelleştiriliyor.

  • İkili ilişkileri.İki sınıf arasında bir ilişki tanımlamak, her iki ucu at örnekleri diğer ucunu gider bir özelliği vardır.İki bitiş noktaları her zaman eşitlenir.Örneğin, Ebeveynler ve çocuklar adlı rollerle parenthood ilişki tanımlarsanız yazabilirsiniz:

    John.Children.Add(Mary)

    Her ikisi de aşağıdaki deyimleri şimdi doğrudur:

    John.Children.Contains(Mary)

    Mary.Parents.Contains(John)

    Yazarak aynı etkiyi sağlamak:

    Mary.Parents.Add(John)

    Daha fazla bilgi için bkz. Gezinme ve Program kodunda bir modeli güncelleştiriliyor.

  • Kurallar ve olayları.Belirtilen değişiklikler yapıldığında, yangın kurallar tanımlayabilirsiniz.Kurallar, örneğin, şekilleri diyagram üzerinde sundukları modeli öğeleri ile güncel tutmak için kullanılır.Daha fazla bilgi için bkz. Yanıtlama ve değişiklikleri yayılıyor.

  • Seri hale getirme.Mağaza bir dosyanın içerdiği nesneleri seri hale getirmek için standart bir yol sunar.Seri hale getiriliyor ve serisi kaldırılırken kurallarını özelleştirebilirsiniz.Daha fazla bilgi için bkz. Dosya depolama ve xml Serialization özelleştirme.

Ayrıca bkz.

Kavramlar

Özelleştirme ve bir etki alanına özgü dil uzatma