Proje tasarımı
- C++ kursu
- İleri seviye
- Ders 79/83
- 6 dk
İleri seviye finali mini uygulamasının iskeletini tasarlarsın.
Proje: Mini framework
Bu 5 derslik projede katmanlı bir mini framework yazacaksın. Her derste bir katman ekleyecek, son derste tümleşik bir uygulama elde edeceksin.
Katmanlar şunlar: Proje iskeleti (Framework sınıfı), Modern C++ (concepts + ranges ile veri işleme), Concurrency (std::thread + atomic ile paralel toplam), Design patterns (Singleton Logger + Factory) ve Birleştirme. Her dersin başlangıç kodu, önceki dersin çözümünü içerecek. Böylece kod dersler boyunca birikerek büyür.
Framework sınıfı iskeleti
Önce bir Framework sınıfı tanımlayalım. Bu sınıf, tüm katmanların üzerinde duracağı çatıdır. run metodu, uygulamanın giriş noktasıdır.
Örnek: class Framework { public: int run(); };. main içinde Framework fw; fw.run(); ile başlatırsın. run metodu std::cout << "Proje hazır"; yazarak iskeletin çalıştığını doğrular. Sonraki derslerde bu iskeletin üzerine yeni metotlar ekleyeceğiz ve her dersin başlangıç kodu önceki dersin çözümünü içerecek.
Uygulama Framework iskeletini tanımla
Framework sınıfını tanımla: public bölümünde int run(); metodu olsun. Framework::run gövdesi std::cout << "Proje hazır"; yazsın. main içinde Framework fw; fw.run(); ile çağır.
Başlangıç kodu
#include <iostream>
#include <string>
// Framework sinifini tanımla: run metodu olsun
int main() {
// Framework oluştur ve run cagir
return 0;
}Örnek çözüm
#include <iostream>
#include <string>
class Framework {
public:
int run();
};
int Framework::run() {
std::cout << "Proje hazır";
return 0;
}
int main() {
Framework fw;
fw.run();
return 0;
}Beklenen çıktı
Proje hazır
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Mini framework neden katmanlı tasarılır?
- Tek fonksiyonda her şeyi yazmak için
- Daha az kod yazmak için
- Her katmanın tek sorumluluğu olması ve değişimin izole olması için Doğru cevap
- Derleyiciyi hızlandırmak için
Açıklama: Katmanlı tasarım, tek sorumluluk ve izole değişim sağlar.
2 Sınıf adını tamamla
class ____ { public: int run(); };
class Framework { public: int run(); };
Açıklama: Sınıf adı PascalCase yazılır: Framework.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
class Framework |
Çatı sınıf |
run() |
Giriş noktası |
main() |
Program başı |
std::cout |
Çıktı |