Я только что посмотрел выступление Бена Вейса под названием "Лучшие практики для модульного приложения" . Во фрагменте продолжительностью 3 минуты (начиная с 21: 50 до 24: 50 ) Бен показывает два примера:
+-------------+ +-------------+
| :feature | | :feature |
+------+------+ +------+------+
| |
| implementation | implementation
| |
v v
+-------------+ +-------------+
| :app | | :app |
+------+------+ +------+------+
| |
| api | implementation
| |
v v
+-------------+ +-------------+
| :library | | :library |
+-------------+ +-------------+
EXAMPLE 1 EXAMPLE 2
Автор постулирует, что:
- в примере 1: изменение любого из модулей приводит к перекомпиляции всех из них
- в примере 2: изменение
:library
или :app
приводит к перекомпиляции всех из них, изменение :feature
на перекомпиляцию только :feature
.
Оба утверждения противоречат моему убеждению, что смена модуля приводит к перекомпиляции только модулей, зависящих от него . Например, изменение :app
никогда не должно вызывать необходимость перекомпиляции :library
, так как :library
не знает о своих клиентах.
Пожалуйста, не могли бы вы немного подробнее рассказать о примере, приведенном автором о разговоре? Прав ли автор? Как это возможно?