Где тут SOLID

Где тут SOLID

  • S (SRP): Order, PricingService, CheckoutService, EmailNotifier, CardPayment, InMemoryOrderRepository— каждый класс выполняет одну роль.

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

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

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

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

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

Где тут SOLID

  • S (SRP): Order, PricingService, CheckoutService, EmailNotifier, CardPayment, InMemoryOrderRepository— каждый класс выполняет одну роль.

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

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

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

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

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


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

Где тут SOLID

Где тут SOLID

  • S (SRP): Order, PricingService, CheckoutService, EmailNotifier, CardPayment, InMemoryOrderRepository— каждый класс выполняет одну роль.

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

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

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

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

Рейтинг@Mail.ru