Junior — Middle
Коддо бир жоопкерчиликтин бир гана принциби бузулганда мисал келтире аласызбы?
sobes.tech AI
AIден жооп
Yagona joghorya prinsipi (Single Responsibility Principle, SRP) deyir ki, sinf və ya modul yalnız bir dəyişiklik səbəbi olmalıdır, yəni konkret bir vəzifəni yerinə yetirməlidir.
Android-də SRP pozulmasına nümunə:
public class UserProfileActivity extends AppCompatActivity {
// UI, məlumatların yüklənməsi və tənzimləmələrin saxlanması üçün cavabdeh
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_profile);
// İstifadəçi məlumatlarını şəbəkədən yükləmək
loadUserData();
// Yadda saxla düyməsinə klikləndikdə işləmə
findViewById(R.id.saveButton).setOnClickListener(v -> saveUserSettings());
}
private void loadUserData() {
// Şəbəkə əməliyyatı
}
private void saveUserSettings() {
// Tənzimləmələri yadda saxla
}
}
Burada, UserProfileActivity həm UI-nin göstərilməsi, həm məlumatların yüklənməsi, həm də tənzimləmələrin saxlanması üçün cavabdehdir — bu SRP-nin pozulmasıdır. Bu vəzifələri müxtəlif sinflərə bölmək daha yaxşıdır, məsələn, biznes məntiqi üçün ViewModel istifadə etmək və şəbəkə ilə işləmək üçün ayrıca sinif yaratmaq.