Идея зоны боли заключается в выявлении компонентов, как: -Вы бетон (т.е. их пользователи привязываться с классами вместо интерфейсов) -Вы популярные (т.е. они используются многими другими компонентами).
Популярные относится к понятию стабильности. Компонент стабилен, если при изменении он разбивает много других компонентов, которые его используют. Одним словом: Popular = Stable
Другая идея заключается в том, что интерфейсы менее подвержены изменениям, чем классы. Вот почему принято считать, что предпочтительнее использовать интерфейс вместо класса, у вас меньше шансов быть «статически» сломанным + у вас меньше шансов быть «семантически» сломанным, так как ваш код не должен быть связанные с любыми деталями реализации (которые сильно подвержены изменениям).
В результате, будучи бетоном + стабильным, выставляйте компонент для некоторой потенциальной боли развития: он сильно подвержен изменениям +, каждый из этих изменений потенциально может сломать много кода.
В вашем случае и некоторых других случаях пребывание в зоне боли не обязательно является плохим. Важно, чтобы оба были осведомлены об этом факте +, если действительно ваш компонент вызвал боль, а затем отмените свой код на интерфейсы.
Да, я прочитал этот пост, это хороший пост. Я просто не видел, что мнения других народов где. –
Вам не нужно беспокоиться о компонентах, которые предоставляют постоянно распространенные блоки функциональности. Слои, которые могут измениться во времени, например веб-сервис для конвертера валют, могут извлечь выгоду из более ранней абстракции, чтобы избежать зоны боли позже. – icelava