Sobes.tech
Middle

Bir uygulamada gösterim ve iş mantığının neden ayrılması gerekir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Görünüm ve iş mantığının ayrılması şunları artırır:

  • Test edilebilirlik: İş mantığı, kullanıcı arayüzünden bağımsız olarak test edilebilir.
  • Bakım kolaylığı: UI'daki değişiklikler, iş mantığını etkilemez ve tersi de geçerlidir. Yeniden düzenlemeyi kolaylaştırır.
  • Ölçeklenebilirlik: Uygulamanın farklı bölümleri paralel olarak geliştirilebilir.
  • Yeniden kullanılabilirlik: İş mantığı, farklı görünümlerle (örneğin, mobil uygulama ve web sürümü) kullanılabilir.
  • Esneklik: UI çerçevesini veya iş kurallarını değiştirmek daha kolaydır.

Bu ayrımı gerçekleştiren tipik mimari desenler:

  • MVC (Model-Görünüm-Denetleyici)
  • MVP (Model-Görünüm-Ön Sunucu)
  • MVVM (Model-Görünüm-GörünümModel)

Android geliştirmede, genellikle Architecture Components (ViewModel, LiveData) ile MVVM kullanılır.

Ayrım örneği:

// Fragment (Görünüm) - görüntüleme ile ilgilenir
class UserProfileFragment : Fragment() {
    private val viewModel: UserProfileViewModel by viewModels()

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        viewModel.userName.observe(viewLifecycleOwner) { name ->
            userNameTextView.text = name
        }
        loadUserButton.setOnClickListener {
            viewModel.loadUserData()
        }
    }
}
// ViewModel (İş mantığı ve durum) - verileri yönetir
class UserProfileViewModel : ViewModel() {
    private val _userName = MutableLiveData<String>()
    val userName: LiveData<String> = _userName

    fun loadUserData() {
        // İş mantığı burada gerçekleşir: API isteği, veri işleme
        // ... veri yüklemenin simülasyonu
        _userName.value = "Ivan Petrov"
    }
}