Middle
Facade nümunəsi ilə tanışsınızmı?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, tanışam. Bu, struktur dizayn nümunəsidir və alt sistemdəki bir sıra interfeyslərə vahid interfeys təmin edir. Yüksək səviyyəli interfeys müəyyən edir ki, bu da alt sistemi daha asan istifadə etməyə imkan verir.
Məqsəd:
- Çətin alt sistemin istifadəsini sadələşdirmək.
- Müştəri ilə alt sistemin həyata keçirilməsi arasında asılılığı azaltmaq.
- Zayıf əlaqələndirməni təmin etmək.
Əsas komponentlər:
- Fasad (Facade): Alt sistem üçün sadələşdirilmiş interfeys təmin edir.
- Alt sistem sinifləri: Fasadın istinad etdiyi alt sistem funksionallığını həyata keçirir.
Android-də tətbiqi:
- Çətin API-lərə (məsələn, media ilə işləmək, fayl sistemi, şəbəkə) giriş idarəetməsi, onları daha sadə interfeysə sarma.
- Bir qrup əlaqəli əməliyyatları yerinə yetirmək üçün tək giriş nöqtəsi yaratmaq.
// Parametrlərlə işləmək üçün sadələşdirilmiş fasad nümunəsi
class SettingsFacade(private val sharedPreferences: SharedPreferences) {
fun saveStringSetting(key: String, value: String) {
sharedPreferences.edit().putString(key, value).apply()
}
fun getStringSetting(key: String, defaultValue: String): String {
return sharedPreferences.getString(key, defaultValue) ?: defaultValue
}
// Digər məlumat tipləri və parametrlər üçün metodlar ola bilər
}
Üstünlüklər:
- Müştəri kodunu sadələşdirir, alt sistemin mürəkkəbliyini gizlədir.
- Müştəri ilə alt sistem sinfləri arasında zəif əlaqə təmin edir.
- Kodun oxunaqlığını və saxlanmasını yaxşılaşdırır.
Çatışmazlıqlar:
- Əgər fasad çox funksionallığı əhatə etməyə çalışırsa, "ağır" ola bilər.
- Müştəri birbaşa alt sistem sinflərinə girişə mane olmur, əgər onlar birbaşa istifadə etmək istəyirlərsə.