CodeBlanks Logo Icon CodeBlanks

Özet - Uygulama mimarisi

feature-based, clean ve repository'yi birleştirerek bir mimari iskelet yazarsın.

Özet - Uygulama mimarisi

Üç mimari yaklaşımdan geçtik: feature-based (özelliğe göre klasörleme), layered (sunum-iş-veri katmanları) ve clean architecture (dıştan içe bağımlılık, domain merkezde).

Bunların üzerine repository pattern (veri erişim soyutlaması) ve dependency injection (bağımlılığın dışarıdan verilmesi) eklendi. React'te DI Context ile yapılır; repository interface'i ile mock'lanabilir testler mümkün olur.

Uygulama Provider ile DI

Bir RepoProvider bileşeni yaz. RepoContext.Provider sarmalayıp value'ya apiRepo versin. Çocukları children prop ile render etsin. RepoContext'i içe aktar.

Başlangıç kodu

App.js
import React from 'react';
import RepoContext from './RepoContext';

const apiRepo = { getUser: () => null };

// RepoProvider'ı buraya yaz

export default RepoProvider;

Örnek çözüm

App.js
import React from 'react';
import RepoContext from './RepoContext';

const apiRepo = { getUser: () => null };

const RepoProvider = ({ children }) => (
  <RepoContext.Provider value={apiRepo}>
    {children}
  </RepoContext.Provider>
);

export default RepoProvider;

Uygulama useContext ile repository al

Bir useRepo hook'u yaz. useContext(RepoContext) çağrısı yapsın ve sonucu döndürsün. useContext'i react'tan, RepoContext'i aynı klasörden içe aktar.

Başlangıç kodu

App.js
import React from 'react';
import RepoContext from './RepoContext';

// useContext'i react'tan içe aktar
// useRepo hook'unu yaz

export default useRepo;

Örnek çözüm

App.js
import React, { useContext } from 'react';
import RepoContext from './RepoContext';

const useRepo = () => useContext(RepoContext);

export default useRepo;

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Mimari kararlarda en önemli ölçüt nedir?

  • Renk sayısı
  • Test edilebilirlik ve ayrım Doğru cevap
  • Dosya adının uzunluğu
  • Üçüncü partı kütüphane sayısı

Açıklama: Ayrım ve test edilebilirlik temel ölçüttür.

2 Tüm kavramları eşleştir

Kavram Anlamı
Feature-based Klasörleme
Layered Katmanlar
Clean Domain merkezde
Repository Veri soyutlama

Uzman bölümündeki tüm dersler