Katmanlı Mimari

Merhabalar. Python ile katmanlı mimari yapısı nasıl kurulur. Daha önce böyle bir deneyimi olan arkadaşlar kod paylaşabilir mi?. Python’da çoklu sınıf kalıtımı olduğundan katmanlı mimari nasıl oluşturulur bulamadım bir türlü.

Merhaba,

Sorduğunuz soru üzerinde biraz araştırma yaptıktan sonra, katmanlı mimari denilen kavramın bir programın üç aşamasıyla ilgili olduğunu düşünmeye başladım.

Bu aşamalardan ilki, veri katmanı olarak isimlendirilmiş. Bu üç katmandan, en alt seviyede bulunan katman olarak bu katman gösteriliyor. Anladığım kadarıyla bu katmanda yapılan işlem, gelen ham verilerin veritabanına kaydedilmesi ile ilgili.

İkinci katman ise, iş katmanı olarak isimlendirilmiş. Bu katmanda ise, veritabanında tutulan ve kullanıcılara sunulacak olan bilgiler üzerinde bir takım işlemler yapılıyor ve bilgiler sunuma hazır bir hale getiriliyor.

Üçüncü katman, sunum katmanı olarak isimlendirilmiş. Adından da anlaşılacağı gibi, bir grafiksel arayüz ile kullanıcıların karşısına çıkarılan bilgilerin yer aldığı son katman bu.

Bu arada katmanlı mimari dediğiniz kavram ile benim okuduğum katmanlı mimari kavramı aynı kavrama mı karşılık geliyor bilemiyorum. Beni bu konuda aydınlatırsanız sevinirim. Eğer başka bir kavramdan bahsediyorsanız, bu kavram hakkında biraz daha bilgi vermeniz gerekiyor. Aynı kavramdan bahsediyorsak, bu kez de bu katmanlı mimariyi esas alan programın tasarımından bahsetmek gerekiyor.

Tasarımla alakalı aklıma gelen sorular şunlar:

Veritabanı katmanı için:

Veritabanı nasıl oluşturulacak?
Veritabanında ne tür veriler bulunacak?
Veritabanının boyutu ne olacak?
Veritabanı dinamik mi olacak yoksa statik mi?
Hangi veritabanı sistemi kullanılacak?

İşlem katmanı için:

Veritabanındaki veriler üzerinde ne tür işlemler gerçekleştirilecek?
İşlemleri gerçekleştirmek için kütüphanelere ihtiyaç var mı? Varsa hangi kütüphaneler gerekli?
İşlemler en verimli şekilde, darboğaz oluşturmayacak şekilde nasıl tasarlanabilir?

Sunum katmanı için:

Hangi grafiksel arayüz kütüphanesi kullanılacak?
Arayüzün tasarımında hangi widgetler kullanılacak?
Arayüzün kullanıcılar tarafından değiştirilebilir özellikleri olacak mı?

Bu soruların cevapları, tasarlanmak istenen uygulamaya göre değişir diye düşünüyorum.

1 Beğeni

Kac katmanli bir mimariden bahsediyoruz?

Diger herhangi bir OOP diliyle ayni sekilde.

Bu ikisinin baglantisini anlayamadim veya farkli seylerden bahsediyoruz.

Coklu sinif kalitimini kullanma zorunlulugu yok bu arada, siniflar 0 veya 1 sinifi da miras alabilir.

1 Beğeni