Где тут SOLID

Где тут SOLID

  • S (SRP): OrderPricingServiceCheckoutServiceEmailNotifierCardPaymentInMemoryOrderRepository— каждый класс выполняет одну роль.

  • O (OCP): новые способы оплаты/уведомления/скидок добавляются новыми классами, не меняя CheckoutService.

  • L (LSP): Payment ↔︎ CardPayment/PaypalPaymentNotifier ↔︎ EmailNotifier/SmsNotifier — любое подставляется без сюрпризов.

  • I (ISP): четыре маленьких интерфейса (PaymentNotifierDiscountPolicyOrderRepository) вместо «бога-интерфейса».

  • D (DIP): высокоуровневый CheckoutService зависит от абстракций, а конкретные реализации передаются извне (композиция/DI).

Автор: к.п.н., Румянцев Сергей Александрович, доцент Финансового университета при Правительстве РФ; доцент ОЧУВО Международного инновационного университета; Консалтинг, управление разработкой ПО; системный и бизнес анализ; менеджмент; аналитиз данных; управление ИТ. Телефон для связи +79269444818 (мессенджеры)   Короткая ссылка:

Где тут SOLID

  • S (SRP): OrderPricingServiceCheckoutServiceEmailNotifierCardPaymentInMemoryOrderRepository— каждый класс выполняет одну роль.

  • O (OCP): новые способы оплаты/уведомления/скидок добавляются новыми классами, не меняя CheckoutService.

  • L (LSP): Payment ↔︎ CardPayment/PaypalPaymentNotifier ↔︎ EmailNotifier/SmsNotifier — любое подставляется без сюрпризов.

  • I (ISP): четыре маленьких интерфейса (PaymentNotifierDiscountPolicyOrderRepository) вместо «бога-интерфейса».

  • D (DIP): высокоуровневый CheckoutService зависит от абстракций, а конкретные реализации передаются извне (композиция/DI).

https://webprogr.ru/~P4TJo
Короткая ссылка на новость:https://webprogr.ru/~P4TJo


// Пример кода
function hello(name) {
  console.log(`Hi, ${name}!`);
}
hello("Sergey");

Последние новости

Рейтинг@Mail.ru