Встречается на собеседованиях • сегодня

Как обращаться к криптографическому сервису чтобы бизнес-логика знала как можно меньше о процессе шифрования

Используй паттерн 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 для подмены реализации в тестах.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы