https://github.com/nirwanadoteth/design-pattern-facade
https://github.com/nirwanadoteth/design-pattern-facade
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/nirwanadoteth/design-pattern-facade
- Owner: nirwanadoteth
- Created: 2026-02-02T10:08:47.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-02T10:51:06.000Z (5 months ago)
- Last Synced: 2026-02-02T23:27:21.267Z (5 months ago)
- Language: Python
- Size: 4.88 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Design Pattern: Facade
Implementasi Facade Pattern dalam Python untuk sistem penjualan mobile phone.
## Deskripsi
Facade Pattern adalah design pattern struktural yang menyediakan interface sederhana untuk sistem yang kompleks. Dalam contoh ini, `ShopKeeper` bertindak sebagai facade yang menyederhanakan akses ke berbagai brand mobile phone.
## Struktur
1. **Interface `MobileShop`**: Interface abstrak dengan metode `modelNo()` dan `price()`
2. **Kelas Konkret**:
- `Asus`: Implementasi untuk brand Asus
- `Xiaomi`: Implementasi untuk brand Xiaomi
- `Samsung`: Implementasi untuk brand Samsung
3. **Facade `ShopKeeper`**: Menyederhanakan akses ke berbagai brand dengan menyediakan metode:
- `asusSale()`
- `xiaomiSale()`
- `samsungSale()`
## Cara Menjalankan
```bash
python3 FacadePatternClient.py
```
## Output
```md
==================================================
SELAMAT DATANG DI MOBILE SHOP
==================================================
--- Informasi Asus ---
Model: Asus ROG Phone 8
Harga: Rp 12,000,000
--- Informasi Xiaomi ---
Model: Xiaomi 14 Pro
Harga: Rp 9,000,000
--- Informasi Samsung ---
Model: Samsung Galaxy S24 Ultra
Harga: Rp 15,000,000
==================================================
```
## Manfaat Facade Pattern
- Menyederhanakan interface kompleks
- Mengurangi ketergantungan client terhadap subsistem
- Memudahkan penggunaan sistem
- Meningkatkan maintainability code