diff --git a/src/ru/clean-copy/06-Раздел V. SDK и UI-библиотеки/04-sdk-decomposing.md b/src/ru/clean-copy/06-Раздел V. SDK и UI-библиотеки/04-sdk-decomposing.md index f25b333..0485aef 100644 --- a/src/ru/clean-copy/06-Раздел V. SDK и UI-библиотеки/04-sdk-decomposing.md +++ b/src/ru/clean-copy/06-Раздел V. SDK и UI-библиотеки/04-sdk-decomposing.md @@ -250,7 +250,7 @@ class OfferList { } ``` -Код выглядит более разумно написанным, но никак не уменьшает взаимозавимость компонентов: использовать `OfferList` без `OfferPanel`, как этого требует сценарий \#2, мы всё ещё не можем. +Код выглядит более разумно написанным, но никак не уменьшает взаимозависимость компонентов: использовать `OfferList` без `OfferPanel`, как этого требует сценарий \#2, мы всё ещё не можем. Заметим, что в вышеприведённых фрагментах кода налицо полный хаос с уровнями абстракции: `OfferList` инстанцирует `OfferPanel` и управляет ей напрямую. При этом `OfferPanel` приходится перепрыгивать через уровни, чтобы создать заказ. Мы можем попытаться разомкнуть эту связь, если начнём маршрутизировать потоки команд через сам `SearchBox`, например, так: @@ -517,4 +517,4 @@ class SearchBoxComposer { Пример реализации компонентов с описанными интерфейсами и имплементацией всех трёх кейсов вы можете найти в репозитории настоящей книги: * исходный код доступен на [www.github.com/twirl/The-API-Book/docs/examples](https://github.com/twirl/The-API-Book/tree/gh-pages/docs/examples/01.%20Decomposing%20UI%20Components) * там же предложены несколько задач для самостоятельного изучения; - * песочница с «живыми» примерами доступна на [twirl.github.io/The-API-Book](https://twirl.github.io/The-API-Book/examples/01.%20Decomposing%20UI%20Components/). \ No newline at end of file + * песочница с «живыми» примерами доступна на [twirl.github.io/The-API-Book](https://twirl.github.io/The-API-Book/examples/01.%20Decomposing%20UI%20Components/).