Вагиф Абилов (object) wrote,
Вагиф Абилов
object

Dependecy injection, inversion of control

В последнее время, борясь за стройность архитектуры программных компонент, читал о паттерне "Dependency Injection", известном также как "Inversion of Control" (подробно описан в статье Фаулера). Происходящее в российском руководстве выглядит как внедрение этого паттерна в систему управления страной - если раньше должность Президента была self-contained, то теперь это выглядит как если бы класс President снабдили конструктором, в каждый из параметров которого передавался бы объект с мощным пакетом функций, на выполнение которых класс President не может влиять. Собственно в этом нет ничего плохого - я бы даже сказал, что в этом только хорошее, особенно если среди передаваемых параметров есть объекты типа Constinution и Law, существующие независимо от синглтона President. Проблема, однако, в том, что проводя рефакторинг президента, разработчики многое перенесли в класс PrimeMinister, и складывается впечатление, что в параметры конструктора этого класса вместо объекта Law засунули Principles. Получился Inversion of Control, но не в том смысле, который в этот термин вкладывал Фаулер.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 10 comments