▼ Why ? 흔히 "SOLID" 라고 불리는 객체지향 5원칙은 이상적인 객체지향 설계를 하려 한다면 반드시 알아야 하는 소프트웨어 개발 원칙이다. 전에 공부했던 '싱글톤 패턴' 이나 '프록시 패턴' 과 같은 소프트웨어 디자인 패턴들도 모두 이 객체지향 5원칙에 입각해서 설계된 패턴이다. 그리고 이 '객체지향 5원칙' 에 하루라도 빨리 익숙해지는 것이 내가 올바른 객체지향 설계 방식을 하는 데 도움이 될 것 같고, 이번에 하고 있는 북 스터디를 통해 "객체지향의 사실과 오해" 를 읽고 있는 지금 '객체지향 5원칙' 을 공부하면 개념들이 더 잘 와닿을 것 같아서 지금 이렇게 공부하고 정리까지 하게 되었다. ▼객체지향 5원칙 - S.O.L.I.D 객체지향 5원칙이란 ? 객체지향 설계에서 지켜야 하는 다음과 ..
▼ Why ? 자바 스터디를 진행할 때 '객체지향 프로그래밍' 챕터에서 생성자를 공부하다 '싱글톤 패턴' 에 대해선 가벼운 정도로만 공부하고 넘어갔었던 적이 다. 그런데, 이번에 스프링(Spring)에서 중요한 개념 중 하나인 '빈(Bean)' 을 공부하다보니, 스프링 컨테이너가 'CGLib' 를 이용해 보장해주는 '싱글톤 패턴' 에 대해 좀 더 공부해야 할 필요성을 느꼈고, 이에 대한 정리를 따로 해두는 것이 좋을 것 같다. '싱글톤 패턴' 을 구현하는 다양한 기법들이 있는데, 싱글톤 패턴을 구현하는 과정을 이해하는데 도움이 될 것 같아 추가적으로 공부해봤다. ▼ 싱글톤 패턴 (Singleton Pattern) 싱글톤 패턴 ? 싱글톤 패턴을 따르는 클래스는, 생성자가 여러번 호출되더라도 실제로 생성되는..
▼ Why ? What ? GDSC - Web 커리큘럼에서 빈(Bean)을 등록하는 과정에서 빈(Bean)을 수동으로 등록하는 것과 자동으로 등록하는 것의 차이를 잘 모르는 것 같아 다시 공부를 했다. 빈을 수동으로 등록할 때 스프링은 'CGLIB' 라는 라이브러리를 통해 해당 빈(Bean)에 "프록시 패턴(Proxy Pattern)" 을 적용한다고 한다. 이를 통해 "프록시 패턴" 이라는 소프트웨어 디자인 패턴에 대해 처음 알게 되었다. "프록시 패턴" 은 빈을 수동 등록하는 과정을 이해하기 위해서만이 아니라 백엔드에서도 중요한 개념인 것 같아 따로 더 알아보았고, 기억이 나지 않을 때마다 찾아보기 위해 공부한 내용을 정리해두려고 한다. ▼ 프록시 패턴 (Proxy Pattern) 프록시 패턴 ? "프..
▼ Why ? 스프링 패키지의 구조에 대해 공부하려고 찾아보다가, MVC 패턴이라는 Architecture를 알게 되었고 이 Architecture를 먼저 이해해야 할 필요성을 느껴서 MVC 패턴을 먼저 공부해보려고 한다. ▼ 웹 애플리케이션 개발 패턴 Model 1 (실제로 쓰일 일 X) JSP에서 출력(View)과 로직을 전부 처리하는 방식 ➜ Controller 영역에 View 영역을 같이 구현해주고, 사용자의 요청을 모두 JSP가 처리한다 빠르고 쉽게 개발 가능 구조가 비교적 간단하고 코드가 짧을수록 직관적이다 ➜ 길어질수록 가독성이 떨어지고, 유지보수가 불편해진다 Model 2 (MVC 패턴) JSP에서 출력만 처리, Controller에서 모든 요청을 처리하는 중앙화 방식 ➜ 이 모델이 MVC..