쉽게 켜다
close
프로필 배경
프로필 로고

쉽게 켜다

  • 분류 전체보기 (202)
    • 개발 일지 (1)
    • IT (2)
    • DDD (6)
    • 스프링(Spring) (53)
      • Spring (30)
      • MVC (3)
      • JPA (7)
      • WebFlux (10)
      • Testing (1)
      • Security (1)
      • Web Socket (1)
    • 데이터베이스 (15)
      • MySQL (2)
      • Redis (1)
    • 네트워크 (11)
      • 네트워크 프로그래밍 (9)
    • Git (8)
    • HTTP (4)
    • 알고리즘 (67)
      • 알고리즘 (7)
      • BOJ (53)
      • 프로그래머스 (7)
    • JAVA (6)
      • Java (1)
      • 이펙티브 자바 (4)
      • 100가지 질문 (0)
    • Kafka (4)
    • Python (2)
    • CI_CD (1)
    • Azure (3)
    • 컴퓨터망 (11)
    • 운영체제 (0)
  • 홈
  • 태그
  • 방명록
[Spring] 객체 지향 원리 적용

[Spring] 객체 지향 원리 적용

앞서 만들었던 예제 1에 새로운 할인 정책을 개발하고 적용시켜 보자 새로운 할인 정책을 확장해보자. 한 기획자가 서비스 오픈 직전에 할인 정책을 지금처럼 고정 할인이 아니라 좀 더 합리적인 주문 금액당 할인하는 정률% 할인으로 변경하고 싶다고 요청했다. 이전 개발이 정말 객체 지향 설계 원칙을 잘 준수했는지 확인해보자. 이번에는 주문한 금액의 일정%를 할인해주는 정률 할인 정책을 추가할 것이다. 새로운 할인 정책 개발 RateDiscountPolicy 추가 discount 패키지에 RateDiscountPolicy 클래스를 추가한다. package hello.core.discount; import hello.core.member.Grade; import hello.core.member.Member; pu..

  • format_list_bulleted 스프링(Spring)/Spring
  • · 2022. 7. 9.
  • textsms
[Spring] 좋은 객체 지향 설계의 5가지 원칙(SOLID)

[Spring] 좋은 객체 지향 설계의 5가지 원칙(SOLID)

클린코드(Clean Code)로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리한 것이다. 이 5가지 원칙을 줄여 SOLID라 한다. SRP Single Responsibility principle(단일 책임 원칙) 하나의 클래스는 하나의 책임만 가져야 한다는 원칙이다. 하지만 정의만 이런 것이고 실제로는 하나의 책임이라는 것은 매우 모호하다. 책임이라는 것이 클 수도 있고 작을 수도 있다. 또한 문맥과 상황에 따라 다르다. 여기서 중요한 기준은 변경이다. 즉, 변경이 있을 때 파급 효과가 적으면 SRP를 잘 따른 것이라 볼 수 있다. OCP Open/Closed principle(개방-폐쇠 원칙) 5가지 중 가장 중요한 원칙으로, 소프트웨어 요소는 확장에는 열려 있으나, 변경에는 닫혀 ..

  • format_list_bulleted 스프링(Spring)/Spring
  • · 2022. 7. 5.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (202)
    • 개발 일지 (1)
    • IT (2)
    • DDD (6)
    • 스프링(Spring) (53)
      • Spring (30)
      • MVC (3)
      • JPA (7)
      • WebFlux (10)
      • Testing (1)
      • Security (1)
      • Web Socket (1)
    • 데이터베이스 (15)
      • MySQL (2)
      • Redis (1)
    • 네트워크 (11)
      • 네트워크 프로그래밍 (9)
    • Git (8)
    • HTTP (4)
    • 알고리즘 (67)
      • 알고리즘 (7)
      • BOJ (53)
      • 프로그래머스 (7)
    • JAVA (6)
      • Java (1)
      • 이펙티브 자바 (4)
      • 100가지 질문 (0)
    • Kafka (4)
    • Python (2)
    • CI_CD (1)
    • Azure (3)
    • 컴퓨터망 (11)
    • 운영체제 (0)
최근 글
인기 글
최근 댓글
태그
  • #jpa
  • #BOJ
  • #network
  • #MPC
  • #백준
  • #프로그래머스
  • #SpringWebFlux
  • #spring
  • #CUDA
  • #리액티브프로그래밍
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바