Цей проєкт демонструє рефакторинг системи надсилання повідомлень згідно з принципами SOLID у TypeScript.
src/ ├── core/ │ └── interfaces.ts # Інтерфейси INotificationChannel, IUser, ILogger ├── models/ │ └── User.ts # Клас User реалізує IUser ├── services/ │ ├── Logger.ts # Простий логер (ILogger) │ ├── NotificationService.ts # Менеджер для відправки повідомлень через канали │ ├── EmailNotification.ts # Сервіс надсилання Email │ ├── SMSNotification.ts # Сервіс надсилання SMS │ └── PushNotification.ts # Сервіс надсилання PUSH └── main.ts # Демонстрація використання
Email sent to example@email.com: Ваш платіж оброблено успішно! LOG: Sending SMS to +380123456789 SMS sent to +380123456789: Ваш платіж оброблено успішно! LOG: Sending PUSH to device-token-abc Push sent to device-token-abc: Ваш платіж оброблено успішно!