Sobes.tech
Junior — Middle

Kas peaks Androidi rakenduse peamenüü ekraan järgima üksuse vastutuse põhimõtet?

sobes.tech AI

Vastus AI-lt

Üksainese vastutuse põhimõte (Single Responsibility Principle, SRP) ei ole Androidi rakenduse peamise ekraani jaoks kohustuslik nõue, kuid selle järgimine parandab märkimisväärselt koodi kvaliteeti ja hõlbustab hooldust. Peamine ekraan sisaldab sageli palju loogikat ja UI komponente, seetõttu aitab vastutuste jaotamine muuta koodi modulaarsemaks ja testitavamaks.

Kui peamine ekraan rikub SRP-d, muutub see mahukaks ning keeruliseks mõista ja muuta. Soovitatav on äriloogika viia ViewModel-i või teiste komponentide juurde ning UI loogika eraldi klassidesse või fragmentidesse.

Näide vastutuste jaotamisest:

class MainActivity : AppCompatActivity() {
    private val viewModel: MainViewModel by viewModels()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        // UI loogika
        viewModel.data.observe(this) { data ->
            // UI uuendamine
        }
    }
}

class MainViewModel : ViewModel() {
    val data = MutableLiveData<List<String>>()
    // äriloogika
}

Seega on SRP soovitus arhitektuuri parandamiseks, mitte range nõue.