Programlamada bir nesnenin temsili. - sayfa 13

 
Aliaksandr Hryshyn # :
Bir örnek alabilir miyim?

Biraz sonra, kavram daha eksiksiz ve okuyucu için daha anlaşılır olduğunda bir örnek verilecektir.

 

3. Bölüm

Olay Modelini resmileştirmek için olayın mahiyetini daha geniş bir şekilde ortaya koymak gerekir. Önceki bölümlerde, tüm nesnelerin sözde olduğu varsayılmıştır. "proto-bloklar" - sistem nesnelerinin "yaşam etkinliğini" yeniden oluşturmak için işleyici işlevleri tarafından kullanılan, parametrik bir temeli olan bazı belirli varlıklar. Her "proto-blokun", bir "matryoshka" gibi, daha küçük proto-blokların "bedenlerini" içeren ve kendisinin büyük olanların gövdelerine dahil olduğu parametrik bir "gövdeye" sahip olduğu söylendi. Proto-blokların, Parametrenin en küçük "parçacık" olduğu, Parametreler kompleksinin Nesnenin parametrik "gövdesi" olduğu, karmaşıklık düzeyine göre bir "hiyerarşiye" yerleştirilebileceği varsayılmıştır. Bu bedenden "temizlenen" parametreler, aralarında ilk önce Devletin geldiği aşağıdaki karmaşıklık seviyelerinin ön-bloklarıdır - Nesnenin Varlığında önemli "kırılma noktaları" ileten parametrik bir oluşum, daha sonra, bir dizi ilgili Durumlar, Süreçtir ... Hadi bir saniyeliğine bahsi geçen proto-blokların parametrik yapısına bakmayı bırakalım ve Event'e geçelim ve nasıl oluştuğunu anlayalım. Bu aşamada şunları söyleyebilirsiniz:

  • Durum , Nesnenin parametrik kümesinden türetilmiş bir yapıdır, yani. seçilen seçeneklerden "yayınla".
  • Durum , Object değerlerinin önemli örneklerini saklar.
  • Yapısal olarak, Devletlerin parametrik gövdeleri “Lego-chips” olarak Süreçlerin bir parçasıdır.
  • Süreç - bir zincirdeki Nesnenin "canlılığı" ile bağlantılı bir Durumlar dizisi.
  • Süreç , Durumları "sine-benzeri" çerçeveler olarak içerir ve bunlara ayrıştırılır.

Ardından, Olayın oluşumuna ve parametrik yapısının ifşasına geçiyoruz. Olayın nasıl oluştuğunu bulmalı, parametrik "portreyi" görmeli ve proto-blokların hiyerarşisine yerleştirmeliyiz. Bundan sonra, proto-blokları işlevsel bir sisteme "bağlamaya" geçelim ve Olay Modelinin "doğuşunu" izleyelim. Etkinliğin parametrik yapısının, sabit öznitelik kombinasyonlarının birden fazla varyasyonuna sahip olduğu hemen belirtilmelidir. Onlarla tanışalım:

  • Olay Arka Planı - Nesneden veya ortamından (Ortamdaki diğer nesneler) alınan, bir Olay olarak kabul edilen önemli bir değişiklikten önce veya önemli bir değişiklikle birlikte gelen, ilk Durum olarak sunulan bir dizi parametre ve değerleri.
  • Hedef değer - Nesnenin veya ortamının seçilen parametre kümesinden, bu Nesnenin veya ortamının hedef Durumu olarak temsil edilen ve bir Olay olarak kabul edilen bir dizi değer.
  • Hedef fark - seçilen parametre setinin geçmiş ve mevcut değerleri arasındaki istenen fark   nesne veya çevresi,   olarak sunuldu   Nesnede veya çevresinde Olayda önemli .
  • Hedef oran - olarak kabul edilen Nesnenin veya çevresinin seçilen parametre setinin değerlerinin istenen oranı   olay .
  • Hedef "imza" - geçmiş ve mevcut değerler arasında istenen değişim modeli   seçilen parametre seti   olarak kabul edilen nesne veya çevresi   olay .

Etkinliğin parametrik gövdesinde farklı kombinasyonlarda yer alan ve yapıyı oluşturan beş temel niteliğini listeledik. Bir olay , diğer proto-bloklar gibi, dinamik yaşamlarında Nesnelerin parametrik gövdelerinden inşa edilir ve istenen parametrenin daha fazla hesaplanması ve kaydedilmesi için mevcut andan itibaren anahtar parametreleri ve bunların değerlerini " yakalama " yöntemiyle oluşturulur. hedef - olay modülündeki form şablonundaki arka plan, değerler, fark, oran veya imza (sistemde daha sonra kullanım için). Bir Olay oluşturulduğunda, fark hesaplamalarının veya imzaların sonuçlarını depolamak için gövdesine türetilmiş parametreler eklenir. Etkinliğin, hedefi hesaplamak ve parametrik düzen ve kayıt için gerekli işlevselliğe sahip özel bir montajcı tarafından oluşturulabileceğini ekleyeceğim. Tabii ki, Olay Devletten daha karmaşıktır ve ikincisinden farklı olarak, bir "türev" kısmı vardır, yani. Nesnenin (nesnelerin) parametrelerinin doğrudan bir soyundan değildir, ancak ilk parametrelerdeki farklılıkların veya değişikliklerin doğasının hesaplanmasının sonuçları için parametrelerle desteklenir, ancak yapısal olarak, aynı proto-bloktur. Durum veya Süreç - yani. değer örneklerine sahip parametreler kümesi .

Sisteme proto-blok örme ile .

Şimdi, proto-blokların en az üç yöntem kullanılarak özel birleştiriciler tarafından oluşturulduğuna dair bir fikrimiz var:

  1. Bir Durum veya Süreç oluştururken Nesnenin parametrik gövdesinden " tomurcuklanma " yöntemi .
  2. Nesnenin veya Ortamın mevcut anından parametreleri ve değerlerini yakalama yöntemi - bir Etkinlik oluştururken "arka planı", hedef değeri veya hedef oranı sabitlemek için.
  3. Bir Event oluştururken de, bir hedef fark veya hedef değişiklik imzası için özel türetilmiş parametreleri ekleme ve hesaplama yöntemi .

ve şimdi, konseptte mevcut olan proto-bloklardan "canlı" bir Sistem nasıl inşa edilir ve " Olay Modeli " bunda nasıl bir rol oynuyor sorularına geçelim?

Herhangi bir Sistemin (Nesnenin) iki anahtar " Hayati faaliyetin meta süreçleri " şunlardır:

  • Gömülü programın bağımsız yürütülmesi.
  • Çevre ile etkileşim.

Bu iki Meta-süreç, bir dış etki bağımsız yürütme sürecine müdahale ettiğinde ve buna karşılık olarak, Sistem, kayıp dengeyi geri yüklemek ve bağımsız yürütme sürecine devam etmek için parametrelerinin değerlerini değiştirir. Genel olarak, bu dinamik, Sistemin Çevresindeki hayati faaliyetidir. " Dış etki ve iç tepki " arasındaki bağlantının nasıl uygulandığını anlamak için, -Koşul kavramına bir bileşen daha eklememiz gerekiyor.

  • Bir koşul , Sistemin diğer proto-blokları arasında Neden ve Sonuç arasında bir bağlantı kuran bir proto-bloktur . Bir önceki bölümde bahsettiğimiz ve içinde ayarlanan kurallara veya formüllere göre ilgili parametrelerin değerlerini değiştiren parametre bağlantı işleyicisinden farklı olarak, Koşulun formüle edilmiş kuralları ve bağımlılık formülleri YOKTUR, - Koşul , formüller ve algoritmalar olmadan nedensel bir zincire kendi içinde proto-bloklar. Örneğin: Nedenin "bedenine" belirli bir Olay yerleştirilir ve Sonucun "bedenine" bir Devlet yerleştirilir. Böylece, bazı Olayları kontrol edip tespit ederek, Nesnenin içindeki bazı Durumları açarız. Formüller ve hesaplamalar olmadan. Basitçe bir proto-bloktan diğerine doğrudan geçiş yaparak.
  • Koşul , herhangi bir proto-blok gibi, kendi işleyicisine sahiptir. Bu durumda, " if() " ifadesi, " then " ve " else " ile birlikte en iyisidir. "Neden"in (" if() " içine konan) gövdesinde, model ve örnek karşılaştırmasının her zaman gerçekleştirildiğini unutmayın. Olayı kontrol edersek, şablonunu alıp Koşul'a koyarız ve dahası, Koşul işleyicisi şablon parametrelerinden bir örnek toplar ve değerlerini orijinal olanlarla karşılaştırır ve iki Sonuçtan birini seçer ( " sonra " veya " başka " ) karşılaştırmanın sonucuna göre değişir .
Hepsi varken. Şimdi, Etkinlik Modelini düşünmek için eksiksiz bir konsept setimiz var ve buna (ilginçse) daha fazla ilerleyeceğiz.


 
Реter Konow # :

3. Bölüm

Liba (kütüphane) sezgisel olacak mı?

 
Реter Konow # :

Tabii ki, ama onu yönetmede çok kötüyüz ve çoğu zaman bilgisayarların bizi kolayca yendiği çok düşük performansa katlanmak zorundayız.)

Biz (bilinç) beynin işlevselliğinin sadece küçük bir parçasıyız ve zorunlu bile değiliz .. Ama beyin daha yüksek sinir aktivitesinin diğer yönlerini iyi bir şekilde yerine getiriyor ve herhangi bir bilgisayarı ... iş dünyasında .. zeka açısından, o küreğe beyinden daha yakın..

 
transcendreamer # :

Liba (kütüphane) sezgisel olacak mı?

Programlama konusundaki deneyiminizin ne kadar harika olduğunu bilmiyorum, bu yüzden ne hakkında yazdığımı ne kadar anladığınızı hayal edemiyorum. Mutlak bir hümanist için kavram belirsiz olacaktır, ancak kodlama becerisine sahip bir kişi için çok şey oldukça açıktır. Soruları formüle etmeye çalışın, ben de cevaplamaya çalışacağım.)

Eklendi: Kod tabanında çok fazla kodunuz var, yani tecrübeniz var. O zaman, kavramın çoğu sizin için açık olmalıdır.

 
Nikolay Ivanov # :

Biz (bilinç) beynin işlevselliğinin sadece küçük bir parçasıyız ve zorunlu bile değiliz .. Ama beyin daha yüksek sinir aktivitesinin diğer yönlerini iyi bir şekilde yerine getiriyor ve herhangi bir bilgisayarı ... iş dünyasında .. zeka açısından, o küreğe beyinden daha yakın..

Kabul ediyorum.

 
Реter Konow # :

Programlama konusundaki deneyiminizin ne kadar harika olduğunu bilmiyorum, bu yüzden ne hakkında yazdığımı ne kadar anladığınızı hayal edemiyorum. Mutlak bir hümanist için kavram belirsiz olacaktır, ancak kodlama becerisine sahip bir kişi için çok şey oldukça açıktır. Soruları formüle etmeye çalışın, ben de cevaplamaya çalışacağım.)

Eklendi: Kod tabanında çok fazla kodunuz var, yani tecrübeniz var. O zaman, kavramın çoğu sizin için açık olmalıdır.

Eh, mql5'te standart bir kitaplık var, karmaşık varlıklarla çalışmak için biraz rahatlama sağlayan başka kitaplıklar var (bazen gerçek şu ki ve tam tersi, gereksiz bir karmaşıklık var) - ve bu yüzden soru şu: planlanmış mı? kullanımı uygun olacak belirli bir kitaplık yapmak?

 
transcendreamer # :

Eh, mql5'te standart bir kitaplık var, karmaşık varlıklarla çalışmak için biraz rahatlama sağlayan başka kitaplıklar var (bazen gerçek şu ki ve tam tersi, gereksiz bir karmaşıklık var) - ve bu yüzden soru şu: planlanmış mı? kullanımı uygun olacak belirli bir kitaplık yapmak?

Söylemesi zor. Böyle standart dışı bir yaklaşımın uygulanmasının, standart OOP kullanılmadan her şeyin düşük seviyeli programlama ile yapılmasını gerektireceğini düşünüyorum. Ama belki yanılıyorum.

 
Реter Konow # :

Söylemesi zor. Böyle standart dışı bir yaklaşımın uygulanmasının, standart OOP kullanılmadan her şeyin düşük seviyeli programlama ile yapılmasını gerektireceğini düşünüyorum. Ama belki yanılıyorum.

her şey yapılır

 
Реter Konow # :

Söylemesi zor. Böyle standart dışı bir yaklaşımın uygulanmasının, standart OOP kullanılmadan her şeyin düşük seviyeli programlama ile yapılmasını gerektireceğini düşünüyorum. Ama belki yanılıyorum.

Ana şey, kullanıcı için bir karmaşıklık değil, bir basitleştirme olması gerektiğidir.

Neden: