# 개념정리

#### IoC 제어의 역전(Inversion of Control, IoC)

Gof Design Pattern 책에서 Hollywood principle' --&gt; *'Don't call us, we'll call you' (우리한테 연락하지 마세요. 우리가 당신에게 연락할게요.)*  
 Dependency Inversion Principle은 class의 의존성 부패(Dependency Rot)를 제거하기 위한 대표적인 디자인 방법 Martin, Robert C.가 1996년 'The Dependency Inversion Principle'에서 제언함

A Class --&gt; B Class 를 A Class --&gt; <span style="color: rgb(255, 255, 255);">Abstract Class</span> &lt;-- B Class

#### AOP Aspect Oriented Programming

관점 중심의 프로그램 방식으로 하나의 Object는 하나의 역할을 수행해야 합니다. 따라서 하나의 오브젝트에 필요한 기능들을 다른 오브젝트에 할당하므로서 오브젝트에게 하나만의 역할을 수행할 수 있도록 한다. 예를 들어서 트렌젝션이나 로그 , 보안에 해당하는 기능은 별도의 오브젝트에 의해서 역할을 수행함으로서 오브젝트는 그 기능 구현만을 수행할 수 있도록 한다.