본문 바로가기
728x90
반응형

Spring/토비의 스프링 3.02

제어의 역전(IoC) from 토비의 스프링 3.0 (일반적인 경우) 프로그램의 흐름은 main() 메소드와 같이 프로그램이 시작되는 지점에서 다음에 사용할 오브젝트를 결정하고, 결정한 오브젝트를 생성하고, 만들어진 오브젝트에 있는 메소드를 호출하고, 그 오브젝트 메소드 안에서 다음에 사용할 것을 결정하여 호출하는.... 식의 작업의 반복이다. 각 오브젝트는 프로그램 흐름을 결정하거나 사용할 오브젝트 구성 작업에 능동적으로 참여한다. (오브젝트를 직접 생성하고, 사용할 구현 클래스를 자신이 결정하고, 필요 시점에 오브젝트를 생성하고...) 즉, 모든 오브젝트가 능동적으로 자신이 사용할 클래스를 결정하고, 언제 어떻게 그 오브젝트를 만들지를 스스로 관장한다. 모든 종류의 작업을 사용자 쪽에서 제어하는 구조다. 제어의 역전이란 이런 제어의 흐름을 거꾸로 뒤집.. 2023. 4. 17.
1장. 오브젝트와 의존관계 (1) 스프링이 가장 관심을 많이 두는 대상은 오브젝트다. 스프링을 이해하려면 먼저 오브젝트에 깊은 관심을 가져야 한다. 애플리케이션에서 오브젝트가 생성되고 다른 오브젝트와 관계를 맺고, 사용되고, 소멸하기까지의 전 과정을 진지하게 생각해볼 필요가 있다. 더 나아가서 오브젝트는 어떻게 설계돼야 하는지, 어던 단위로 만들어지며 어떤 과정을 통해 자신의 존재를 드러내고 등장해야 하는지에 대해서도 살펴봐야 한다. 개발자가 객체를 설계할 때 가장 염두에 둬야 할 사항은 바로 미래의 변화에 어떻게 대비할 것인가이다. 분리와 확장을 고려한 설계 - 변경이 일어날 때 필요한 작업을 최소화하고 그 변경이 다른 곳에 문제를 일으키지 않게 하는 방법 관심사의 분리 - 관심을 한 군데에 집중한다. 관심이 같은 것끼리 모으고, 다른.. 2023. 4. 10.
728x90
반응형