[TIL] 211109

JAEWON·2021년 11월 9일
0

TIL

목록 보기
1/1

[Spring 공부]

1. Framework 개념

(1) SW 재사용 방안들

  • 복사(Copy) & 붙이기(Paste)
    : 기본적인 방법,
    -> 장점 : 쉽다,
    -> 단점 : 변경사항 나오는 경우 복사하기 전거랑 복사 된 거랑 모두 변경해야 한다.

  • 메서드 호출
    : method로 정의, 복사 붙이기 단점 개선위해 나옴
    -> signature를 변경하면 이 메서드 사용하는 모든 클래스에 영향
    -> 결합도 문제 여전

    💡 method signature
    -> 메서드 명
    -> 리턴 타입
    -> 아규먼트 개수, 타입

  • 클래스 재사용 (상속)
    : 자주 사용되고 유사한 기능을 메서드로 정의하여 재사용 (부모 class에 넣고 상속 받아 쓴다)
    -> 부모 클래스의 메서드 변경되면 상속된 메서드가 자동으로 변경된다
    -> 변경되더라도 인터페이스 변하지 않으면 영향 x
    -> 부모 class의 메서드 변경 -> 여전히 자식 class에 영향

  • AOP(Aspect Oriented Programming)
    : 관심의 분리,
    -> 계좌이체, 입출금 등 Biz 로직을 하는 핵심관심모듈과, 보안, 로깅 등 기능적 로직을 하는 횡단관심모듈을 분리한다.
    -> AOP가 핵심관심모듈을 직접 건들지 않고 위빙이라는 작업으로 횡단 관심 코드 엮어지게 함

(2) 디자인 패턴과 프레임워크의 관련성

디자인 패턴이란?
-> 이후에 재사용하기 좋은 형태로 특정 규약 묶어서 정리

디자인 패턴 사용 이유

  • 요구사항이 수시로 변경되기 때문에 소스코드 변경 최소화
  • 팀 프로젝트 진행 -> 범용적인 코딩 스타일
  • 인수 인계 -> 직관적

프레임워크
-> 비기능적 요소들(성능, 보안, 로깅, 확장서으 안정성 등)을 미리 만들어 제공

프레임워크 사용 이유

  • 비기능적 요소들 초기 개발마다 구현해야 됨
  • 기능 요구사항에 집중
  • 반복적으로 발견되는 문제 해결 특화된 솔루션
    ex) 한글 깨짐, <- 한글 인코딩 해주는 기능 fw

(3) 프레임워크의 구성요소와 종류

0개의 댓글