Инверсия управления - это закономерность?

По некоторым данным, IoC - это принцип.

https://www.tutorialsteacher.com/ioc/introduction

Но в другом месте это шаблон.

Что такое инверсия управления?

Паттерны Inversion of Control (IoC) и Dependency Injection (DI) предназначены для удаления зависимостей из вашего кода.

Какой из них правильный?


person arif2018    schedule 22.02.2019    source источник
comment
Получивший наибольшее количество голосов ответ на вопрос о переполнении стека может просто не подписываться на те же определения, что и блог, на который вы ссылаетесь, или может использовать упрощенную терминологию. На мой непосвященный взгляд, я полагаю, что принцип может также проявляться как образец, и вы могли бы назвать это проявление примером принципа, по крайней мере, неформально.   -  person tripleee    schedule 22.02.2019
comment
Эти термины могут иметь разные определения, но не ожидайте, что люди будут использовать их последовательно.   -  person jaco0646    schedule 22.02.2019
comment
code.replyfeed.com   -  person arif2018    schedule 20.03.2019


Ответы (1)


Принципы являются руководящим набором, и когда принципы следуют для решения проблем, образуются шаблоны.

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

IoC - это принцип, многие программы реализуют этот принцип, например, Spring. IoC решает множество ошибок в коде и проблем с ремонтопригодностью. Если кто-то называет это закономерностью, можно сказать так. Нет особого смысла спорить, является ли это закономерностью или принципом, поскольку оба они неразделимы.

person nits.kk    schedule 22.02.2019