Skip to content

otusteamedu/otus-php-clean-architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Учебный материал для курса PHP: SOLID

Это — фрагмент вымышленного приложения, с помощью которого пользователи могут:

  • отправлять заявки в банк
  • искать отправленные заявки

При разработке приложения был намеренно допущен ряд ошибок, в первую очередь — архитектурных, которые затем постепенно исправлялись (см. история коммитов).

Работа над ошибками

Приложение было изначально спроектировано с нарушением принципов SOLID. Ключевые моменты, на которые стоит обратить внимание:

Принцип инверсии зависимостей

  • насколько хорошо выполнено разделение приложения на слои?
  • существует ли зависимость слоёв верхнего уровня от слоёв нижнего уровня?
  • как можно решить эту проблему?

Принцип разделения интерфейсов

  • есть ли в приложении компоненты, которые используются несколькими клиентами?
  • есть ли ситуация, когда одна часть методов нужна клиенту A, а другая часть – клиенту B?
  • как можно решить эту проблему?

Принцип единственной ответственности

  • есть ли в приложении компоненты, которые заключают в себе несколько абстракций?
  • используются ли они разными клиентами?
  • как можно решить эту проблему?

Принцип открытости/закрытости

  • насколько легко можно расширять приложение?
  • нужно ли при этом вносить правки в существующий код?
  • как можно решить эту проблему?

Принцип подстановки Барбары Лисков

  • какие правки можно внести в приложение, чтобы "поломать" его с точки зрения этого принципа?
  • как можно решить эту проблему?

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published