📗 Back-end/📗 Spring

📗 Back-end/📗 Spring

[Spring] DI, IoC

1️⃣ DI (Dependency Injection) DI (Dependecy Injection) 는 "의존성 주입" 이라는 뜻이다. 저번에 공부했던 SOLID 에 등장한 OCP, DIP 등을 지킬 수 있도록 스프링이 지원해주는 기능이다. 즉, new 연산자를 통해 직접 구현 객체를 생성하는 것이 아닌, 외부에서 객체를 생성한 뒤 주입시켜주는 방식이다. 여기서 말하는 외부는 스프링 컨테이너를 말한다. 예를 들어 'MemberRepository' 라는 인터페이스가 있다고 하자. 그 아래에 'MemoryMemberRepository', 'JdbcRepository' 등이 구현 객체로 있다. 그렇다면 MemberRespository 를 생성할 때 어떤 객체에 의존하면 될까? 여기서 DI 를 적용하기 위해선 둘..

📗 Back-end/📗 Spring

[Spring] SOLID (객체 지향 설계 원칙)

1️⃣ SOLID 란? SOLID 는 Robert C. Martin 이 2000년대 초반 명명한 객체 지향 프로그래밍 및 설계의 5가지 기본 원칙을 Michael C.Feathers 가 소개한 것이다. 이는 객체 지향 프로그래밍에서 중요한 원칙으로 자리잡았으며, 프로그래머가 소스 코드를 읽기 쉽고 확장하기 쉽게 될 때까지 소스 코드를 리팩터링하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침이다. 'SOLID' 라는 이름은 5가지 원칙인 SRP, OCP, LSP, ISP, DIP 의 각 첫 글자를 따서 지어졌다. 즉, SOLID 는 좋은 객체 지향 프로그램을 설계하도록 하는 원칙인 것이다. 각 원칙은 다음과 같다. SRP (Single Responsibility Principle) : 단일 책임 원칙 ..

📗 Back-end/📗 Spring

[Spring] About Spring Framework

1️⃣ 개요 백엔드 개발에 사용되는 언어와 프레임워크는 정말 다양하다. Python - Django, JS - Node.js, Java - Spring 등 여러 종류가 있다. 물론 자신이 재미있고 잘 맞는 언어와 프레임워크를 선택하여 공부를 하는게 일반적이다. 나는 지금까지 공부하면서 Java 에 큰 흥미를 느꼈다. 그래서 코테 준비도 비교적 널리 사용되는 Python 이나 C++ 로 하려다 마음을 바꾸었다. 그래서인지 자연스럽게 나는 Java -> Spring 으로 공부 방향을 잡았다. 사실 처음에 Spring 이라는 거대한 프레임워크를 공부할 때 어디서부터 시작해야될지, 나에게 맞는지조차 몰랐다. 광고는 아니고 김영한님의 무료 스프링 강의를 보고 웹서비스의 전반적인 흐름을 배웠다. 아무래도 익숙한 J..

박갈
'📗 Back-end/📗 Spring' 카테고리의 글 목록 (2 Page)