programing

레일에 종속성 주입이 있습니까?

itmemos 2023. 8. 15. 10:48
반응형

레일에 종속성 주입이 있습니까?

레일즈가 MVC 접근 방식을 가지고 있다는 것은 의존성 주입이 있다는 것을 의미합니까?

아니면 레일즈에서 의존성 주입에 대해 이야기하지 않는 이유가 있습니까?

레일에 종속성 주입이 있는 경우, 무엇으로 구성됩니까?

IoC는 큰 해머이지만 DI는 Ruby/Rails에서 매일 발생합니다.할 때마다:

def initialize(model_klass)
  @model_klass = model_klass
end

여기는 DI입니다.이 패러다임은 레일즈 소스 코드의 다양한 위치에서도 사용됩니다.예를 들어,Railties보석 자체는 대부분 DI 엔진입니다.원하는 ORM, 다양한 플러그인 구성 및 생성기를 주입할 수 있습니다.

종속성 주입은 크고 무서운 이름을 가지고 있지만, 요약하자면 런타임 동안 종속성을 주입하는 방법으로 클래스 종속성을 분리하는 것입니다.

사용하는 언어는 중요하지 않습니다. 동작/코드를 어딘가에 연결해야 하는 한 아마도 사용하고 있을 것입니다.

종속성 주입은 패러다임이므로 모든 객체 지향 언어에 존재합니다.

Ruby에 대한 DI 프레임워크가 있는지 여부 - 이 질문을 확인합니다.

일반적으로 Ruby에서는 종속성 주입이 필요하지 않습니다.Jamis Buck은 그 이유에 대해 광범위하게 블로그를 썼습니다.읽을 만한 가치가 있습니다.

루비가 들어간 그런 건 필요 없어요하지만 당신이 정말 원한다면, 어떤 사람들은 해결책이 있습니다.

저는 이 IoC https://github.com/alexeypetrushin/micon 를 제 웹 프레임워크에서 사용하는데, 대부분의 시간은 숨겨진 채로 있고 그렇지 않으면 수동으로 해결해야 하는 종속성 및 구성 요소 초기화 문제를 조용히 해결합니다.

http://ruby-lang.info (Rad, 나의 웹 프레임워크 https://github.com/alexeypetrushin/rad_core 로 구동되는 이 사이트)에서 작동하는 것을 볼 수 있습니다.

언급URL : https://stackoverflow.com/questions/2190812/does-dependency-injection-exist-in-rails

반응형