Встречается на собеседованиях • сегодня
Как обращаться к криптографическому сервису чтобы бизнес-логика знала как можно меньше о процессе шифрования
Используй паттерн Facade или Adapter для создания промежуточного слоя между бизнес-логикой и криптосервисом. Это скроет детали реализации и предоставит простой интерфейс.
Пример:
typescript
// Фасад для криптосервиса
class CryptoService {
private encryptData(data: string): string {
// сложная логика шифрования
return encryptedData;
}
private decryptData(encrypted: string): string {
// сложная логика дешифровки
return decryptedData;
}
// Простой публичный интерфейс
public secureSave(data: string) {
const encrypted = this.encryptData(data);
// сохранение в хранилище
}
public getSecureData(id: string) {
// получение из хранилища
return this.decryptData(encrypted);
}
}
text
Бизнес-логика работает только с `secureSave()` и `getSecureData()`, не зная о деталях шифрования. Можно также использовать DI для подмены реализации в тестах.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы