본문 바로가기

전체 글54

3-1. 스프링 핵심 원리 이해2 - 객체 지향 원리 이용(AppConfig) OCP, DIP를 지키려면 클라이언트가 구체 클래스에 의존하지 않아야 하는데, 이것이 어떻게 가능할까요? 안녕하세요. 오늘은 '섹션 3. 스프링 핵심 원리 이해 2 - 객체 지향 원리 이용' 중 앞부분을 리뷰하겠습니다. 저번 시간에 회원, 주문, 할인 서비스를 자바 코드로 만들어보았습니다. 인터페이스와 구현체를 나눠서 잘 설계된 것으로 보였는데요. 여전히 좋은 객체 지향 설계 원칙 중 SRP, OCP, DIP를 지키지 못하는 문제가 있어서 AppConfig 를 활용해 해결하는 것이 오늘 강의의 핵심 내용입니다. 저번 시간에 완성한 도메인 다이어그램은 아래와 같습니다. 할인 정책 변경 할인 정책에 초점을 두고 생각해봅시다. 만약 할인 정책이 정액 할인 정책(정해진 금액만큼 할인)에서 정률 할인 정책(정해진.. 2022. 1. 2.
2-2. 스프링 핵심 원리 이해1 - 예제 만들기(주문, 할인) 안녕하세요. 오늘은 섹션2 스프링 핵심 원리 이해1 - 예제 만들기 중 후반부인 주문, 할인 부분을 리뷰하겠습니다. 주문, 할인 정책 요구사항 회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1,000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경될 수 있다.) 할인 정책은 변경 가능성이 크다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수도 있다. (미확정) 주문 도메인 주문 도메인 클래스 다이어그램 여기까지는 코드를 전부 자바로 짰고, 스프링을 이용하지 않아서 상세한 설명을 생략합니다. 추가적인 궁금증도 없어서 이 게시글은 여기에서 마무리합니다. 현재 다이어.. 2022. 1. 2.
2-1. 스프링 핵심 원리 이해1 - 예제 만들기(회원) + static, map, final 안녕하세요. 오늘은 섹션2 스프링 핵심 원리 이해1 - 예제 만들기를 리뷰하겠습니다. 회원, 주문, 할인 정책을 다루는 간단한 예제를 만들어 보았습니다. 스프링을 활용하지 않고 순수한 자바로 코드를 짰습니다. 역할과 구현을 구분하고, 요구사항이 변경되었을 때 유연한 대처가 가능하도록 하는 것이 이번 섹션의 목표입니다. 이번 게시글에서는 회원 관련 내용을 간단히 살펴보고, 공부하면서 궁금하여 추가로 알아본 내용을 정리해보았습니다. 회원 도메인 요구사항 회원이 가입할 수 있고, 가입 후에는 회원을 조회할 수 있다. 회원은 일반과 VIP 두 가지 등급이 있다. 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) 회원 도메인 협력 관계(기획자와 함께 볼 수 있는 다이어그램) .. 2022. 1. 2.
SOLID: 좋은 객체 지향 설계의 5가지 원칙 좋은 객체 지향 설계를 하기 위해, 어떻게 코드를 작성하면 될까요? 안녕하세요. 좋은 객체 지향 설계의 5가지 원칙 SOLID에 대해 알아보겠습니다. Spring에서 사용되는 언어인 자바는 대표적인 객체 지향 설계 언어 중 하나인데요. Spring 공부의 첫 단계로, 좋은 객체 지향 설계를 위한 원칙 5가지를 알아봅시다. 라는 책으로 유명한 로버트 마틴이 정리한 좋은 객체 지향 설계의 5가지 원칙은 아래와 같습니다. SRP: 단일 책임 원칙 (Single Responsibility Principle) OCP: 개방-폐쇄 원칙 (Open/Closed Principle) LSP: 리스코프 치환 원칙 (Liskov Substitution Principle) ISP: 인터페이스 분리 원칙 (Interface S.. 2022. 1. 2.
스프링과 객체 지향 프로그래밍 스프링의 핵심 개념은 무엇일까요? 안녕하세요. 오늘은 스프링과 객체 지향 프로그래밍에 대해 알아보고자 합니다. 스프링의 핵심 개념은 무엇일까요? '웹 애플리케이션을 만들고 서버를 자동으로 띄워주는 기술' 보다는, '객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크'로 정의하는 것이 좋을 것 같습니다. 프레임워크 참고로, 프레임워크에 대해서 잘 다듬어진 글이 있어서 공유하고 싶습니다. https://jokergt.tistory.com/89 프레임워크란? 프레임워크의 개념을 한번에 잡아주는 좋은 글이다.. 프레임워크란 단어처럼 많이 쓰이면서도 애매한 단어가 없는 것 같다. 일단 구글링을 해 본 결과 다음과 같은 정의를 찾을 수 있었다. === jokergt.tistory.com 글에서는 프레임워크.. 2022. 1. 1.
스프링 핵심 원리 - 기본편 Readme 인프런에서 김영한 개발자님이 강의하신 '스프링 핵심 원리 - 기본편' 을 수강하며 기록한 카테고리입니다. 강의는 https://www.inflearn.com/course/스프링-핵심-원리-기본편 에서 볼 수 있습니다. 2022. 1. 1.