Принцип эквивалентности повторного использования / выпуска (REP) - PullRequest
17 голосов
/ 15 сентября 2008

Что такое принцип эквивалентности повторного использования / выпуска и почему он важен?

Ответы [ 2 ]

28 голосов
/ 15 сентября 2008

Принцип эквивалентности повторного использования / выпуска (REP) гласит:

Единица повторного использования - это единица выпуска. Эффективное повторное использование требует отслеживания выпусков из системы контроля изменений. Пакет является эффективной единицей повторного использования и выпуска.

Единицей повторного использования является единица выпуска

Код нельзя использовать повторно, скопировав его из одного класса и вставив в другой. Если первоначальный автор исправит какие-либо ошибки в коде или добавит какие-либо функции, вы не получите автоматическое преимущество. Вы должны будете узнать, что изменилось, а затем изменить свою копию. Ваш код и исходный код будут постепенно расходиться.

Вместо этого код следует повторно использовать, включив в него освобожденную библиотеку. Первоначальный автор сохраняет ответственность за его сохранение; вам даже не нужно видеть исходный код.

Эффективное повторное использование требует отслеживания выпусков из системы управления изменениями

Автору библиотеки необходимо идентифицировать выпуски с номерами или названиями. Это позволяет пользователям библиотеки идентифицировать разные версии. Это требует использования какой-либо системы отслеживания релизов.

Пакет является эффективной единицей повторного использования и выпуска

Может быть возможно использовать класс в качестве единицы повторного использования и выпуска, однако в типичном приложении существует так много классов, что системе отслеживания релизов было бы обременительно отслеживать их все. Требуется более масштабный объект, и пакет хорошо соответствует этому требованию.

См. Также статью Роберта Мартина о Гранулярность .

0 голосов
/ 18 июня 2018

Из чистой архитектуры, Роберт Мартин.

Принцип повторного использования / выпуска (REP) - это принцип, который кажется очевидно, по крайней мере, задним числом. Люди, которые хотят повторно использовать программные компоненты не может и не будет делать это, если эти компоненты не отслеживаются через процесс выпуска и ему даются номера выпуска.

Это не просто потому, что без номеров релизов не было бы никакого способа убедитесь, что все повторно используемые компоненты совместимы друг с другом. Скорее это также отражает тот факт, что разработчики программного обеспечения должны знать, когда новые релизы и какие изменения принесут эти новые релизы.

Нередко разработчики получают предупреждение о новом выпуске и принимают решение, на основе изменений, внесенных в этот выпуск, чтобы продолжить использовать старый выпуск вместо. Поэтому процесс выпуска должен производить соответствующие уведомления и выпустить документацию, чтобы пользователи могли принимать обоснованные решения о когда и стоит ли интегрировать новую версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...