3 Kasım 2014 Pazartesi

Gömülü Proje Örnekleri

Giriş
Gömülü projelerde kullanılan bazı tasarımları aşağıda not aldım. Bu tasarımların en önemli özellikleri dinamin bellek kullanmamaları.

Unique_Ptr
Gömülü projelerde std::unique_ptr kullanamıyoruz. Bu yüzden kendi sınıfımızı yazmak gerekiyor. Aşağıda küçük bir örnek var.

Object<---(has)ObjectPtr<-----------(has)ObjectPtrList
                            |
                            |
                ObjectPoolTable
                            |
                            |
                    ObjectPool

ObjectPtr::Assign ()
ObjectPtr::Release () metodları Object nesnesini ait olduğu ObjectPool'a geri verir. ObjectPool array, list, set, tree gibi herhangi bir veriyapısı üzerine kurulu olabilir.


Parser
Konuyu Gömülü Proje Örnekleri - Parser başlıklı yazıya taşıdım.

Transmission
Konuyu Gömülü Proje Örnekleri - TransmissionQueue başlıklı yazıya taşıdım.

Reception
Aşağıda zarflanan mesajları açarak internal yapılara çeviren bir tasarım var.
Formatlı mesaj işlemede en önemli adımlardan bir tanesi gelen mesajın hangi mesaj olduğunun belirlenmesi. İşlenecek mesajlar genellikle bir enum ile sıralanırlar. Verinin bir veya daha fazla alanı okunarak, bir tablo vasıtasıyla mesajın kimliği belirlenir.

Mesajlar gerekirse bir Accumalator içinde biriktiriliyor ve daha sonra IMessage dizisi şeklinde kullanılıyorlar.

 

Hiç yorum yok:

Yorum Gönder