2023/03 2

스프링 핵심 원리이해 - 객체 지향 설계 (1)

컴공에 입문하거나, 혹은 프로그래밍을 한다면 객체 지향 설계에 대해 안들어 볼 수가 없다. 또, 현재 대한민국은 자바공화국이라 불릴만큼 자바를 많이 사용하고, 스프링 프레임워크를 같이 사용하고 있다. 스프링의 핵심 스프링은 자바 언어 기반의 프레임 워크 자바는 객체 지향 언어 스프링은 객체 지향 언어가 가장 강력한 특징을 살려내는 프레임워크 스프링은 좋은 객체 지향 애플리케이션을 개발 할 수 있게 도와주는 프레임워크 -> 그렇다면 좋은 객체 지향이란 무엇일까? 좋은 객체 지향 객체 지향 프로그래밍은 유연하고 변경이 용이(다형성) 하게 만들기 때문에 대규모 SW개발에 많이 사용된다. SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면..

스프링 핵심 원리이해 - 객체 지향 설계 (2)

새로운 정책 개발 다형성 활용을 잘한 코드라면 새로운 정책을 추가하는데 아무 문제 없음 하지만 새로운 정책 적용에 문제가 있음 클라이언트 코드인 주문 서비스 구현체도 함께 변경필요 클라이언트가 인터페이스뿐만아니라 구현체도 함께 의존 → DIP 위반 관심사의 분리 AppConfig는 구현 객체를 생성하고 연결하는 책임 AppConfig의 등장으로 기존의 클라이언트 코드에서 구현체를 생성할 필요가 없어짐 결과적으로 클라이언트 객체는 자신의 역할을 실행하는 것만 집중, 권한이 줄어듬(책임이 명확해짐) AppConfig 리팩토링 구성 정보에서 역할과 구현을 명확하게 분리 역할이 잘 들어남 중복 제거 기존코드 public class OrderServiceImpl implements OrderService { //..

728x90