본문 바로가기

자바10

[Spring] 좋은 객체 지향 설계 / IoC(Inversion of Control) / DI(Dependency Injection) [Spring] 자바 프로젝트 생성 - DIP / OCP 규칙 준수하도록 변경하기, 리팩터링[Spring] 자바 프로젝트 생성 - 인터페이스와 구현의 구분, DIP / OCP 규칙 위반 예시비즈니스 요구사항과 설계회원회원 가입, 회원 조회 기능일반 / VIP 등급회원 데이터: 자체 DB 구축 or 외부 시스jelliclesu.tistory.com좋은 객체 지향 설계의 5가지 원칙의 적용 여기서 3가지 SRP, DIP, OCP 적용 SRP(단일 책임 원칙): 한 클래스는 하나의 책임만 가져야 함클라이언트 객체는 직접 구현 객체를 생성하고, 연결하고, 실행하는 다양한 책임을 가지고 있음 SRP 단일 책임 원칙을 따르면서 관심사를 분리함구현 객체를 생성하고 연결하는 책임은 AppConfig가 담당클라이언트 객.. 2024. 9. 21.
[Spring] 자바 프로젝트 생성 - DIP / OCP 규칙 준수하도록 변경하기, 리팩터링 [Spring] 자바 프로젝트 생성 - 인터페이스와 구현의 구분, DIP / OCP 규칙 위반 예시비즈니스 요구사항과 설계회원회원 가입, 회원 조회 기능일반 / VIP 등급회원 데이터: 자체 DB 구축 or 외부 시스템과 연동(미확정)주문과 할인 정책회원은 상품 주문 가능회원 등급에 따라 할jelliclesu.tistory.comAppConfig 생성AppConfig.java애플리케이션의 전체 동작 방식을 구성(config)하기 위해, 구현 객체를 생성하고, 연결하는 책임을 가지는 별도의 설정 클래스사용 영역과, 객체를 생성하고 구성(Configuration)하는 영역으로 분리구현 객체 생성MemberServiceImplMemberRepositoryOrderServiceImplDiscountPolicy생.. 2024. 9. 21.
[Spring] 자바 프로젝트 생성 - 인터페이스와 구현의 구분, DIP / OCP 규칙 위반 예시 비즈니스 요구사항과 설계회원회원 가입, 회원 조회 기능일반 / VIP 등급회원 데이터: 자체 DB 구축 or 외부 시스템과 연동(미확정)주문과 할인 정책회원은 상품 주문 가능회원 등급에 따라 할인 정책을 적용할인 정책: 변경 가능성 높음 (모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용 or 정률 적용 or 미적용)회원 데이터, 할인 정책: 지금 결정하기 어려움. 그렇다고 이런 정책이 결정될 때까지 개발을 무기한 기다릴 수도 없음.➡️ 인터페이스를 만들고 구현체를 언제든지 갈아끼울 수 있도록 설계참고: 우선 스프링 없는 순수한 자바로만 개발을 진행회원 도메인 설계회원 도메인 요구사항회원 가입, 회원 조회 기능일반 / VIP 등급회원 데이터: 자체 DB 구축 or 외부 시스템과 연동(미확정)회.. 2024. 9. 21.
[Spring] 객체 지향 설계, 다형성, SOLID 객체 지향 설계와 스프링스프링이란?스프링 생태계  스프링 프레임워크핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타웹 기술:  스프링 MVC, 스프링 WebFlux데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원기술 통합: 캐시, 이메일, 원격접근, 스케줄링테스트: 스프링 기반 테스트 지원언어: 코틀린, 그루비 스프링 부트스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨손쉬운 빌드 구성을 위한 starter 종속성 제공스프링과 3rd parth(외부) 라이브러리 자동 구성메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공관례.. 2024. 9. 20.