diff --git a/pages/isp/limits-and-caveats.mdx b/pages/isp/limits-and-caveats.mdx index d14d46b..70e108f 100644 --- a/pages/isp/limits-and-caveats.mdx +++ b/pages/isp/limits-and-caveats.mdx @@ -23,12 +23,12 @@ export default ({ children }) => {children} ## Конфликты ролей и иерархий -Интерфейсы можно условно поделить на [роли](https://www.javaworld.com/article/3044050/discover-the-six-roles-that-interfaces-play-in-the-java-language.html): тип, поведение, ожидание (например в [контракте](https://ru.wikipedia.org/wiki/Контрактное_программирование)) и др. +Интерфейсы можно условно поделить на [роли](https://www.infoworld.com/article/3044050/discover-the-six-roles-that-interfaces-play-in-the-java-language.html): тип, поведение, ожидание (например в [контракте](https://ru.wikipedia.org/wiki/Контрактное_программирование)) и др. Иерархия ролей может [конфликтовать](https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53) с иерархией сущностей и модулей, которые реализуют интерфейсы. Это делает структуру системы сложной для понимания и может вводить в заблуждение при чтении кода. ## Материалы к разделу - [Атомарный CSS](https://habr.com/en/post/432586/) -- [The 6 roles of the interface](https://www.javaworld.com/article/3044050/discover-the-six-roles-that-interfaces-play-in-the-java-language.html) +- [The 6 roles of the interface](https://www.infoworld.com/article/3044050/discover-the-six-roles-that-interfaces-play-in-the-java-language.html) - [Контрактное программирование](https://ru.wikipedia.org/wiki/Контрактное_программирование) - [Goodbye, Object Oriented Programming](https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53)