[pre-course] 최종코테 준비 - 이론

오잉·2022년 12월 16일
0

우아한테크코스

목록 보기
1/7

최종코테 벼락치기..
24시간의 전사가 되기 위해 여기저기서 모은 자료들^^

참고 : https://github.com/orgs/woowacourse-precourse/discussions/1706

MVC 패턴

1) View

  • InputView
  • OutputView

2) Controller

  • LottoController, MemberController 등

3) Domain

  • Lotto 등

https://heesangstudynote.tistory.com/108


클래스 나누기

  • 최대한으로 클래스 분리. 클라스가 하나의 책임을 가지도록
  • 분리를 했으면 직접 사용하지 않고 메시지를 전달한다
  • 객체에 메시지를 던져서 작업을 해야지, 값을 가져와서 다른 곳에서 작업x
  • 메시지를 받는 객체는 자신의 속을 오픈하기보다, 작업을 해주도록 해야함
    (한 코드에 점이 둘 이상 있으면 안된다. 단, stream 제외)

일급 컬렉션

  • 일급 컬렉션 : collection을 wrapping하면서, 그 외 다른 멤버 변수가 없는 상태
  • collection의 값을 변경할 수 있는 메소드가 없는 collection
  • 불변 객체 (절대 값이 바뀔일이 없다는 것을 보장) 위해
    예시1

예시2

예시3

원시값과 문자열 포장(wrap)

원시 타입 포장 객체를 만들면 해당 객체에 대한 유효성 검사를 객체 내부에서 처리할 수 있다.
https://tecoble.techcourse.co.kr/post/2020-05-29-wrap-primitive-type/



예외처리

1) validate (검증)

  • 입력에 대한 검증 -> inputView에서
    (ex. inputView에서 예외 던지기)
  • 비즈니스 요구사항에 대한 검증 -> 각각의 domain 혹은 service에서
    (ex. 클래스 생성할 때 validation)
  • 검증 로직은 클래스로 공동 처리?

2) handling (처리)

예외 발생시 재호출 제네릭 사용하여 편하게 하는 법


예시

  • 사용


  • 제너릭 구현

유효성 검사는 그 객체 안에서 생성과 동시에

정규표현식

  • 특정 검색 패턴에 대한 하나 이상의 일치 항목을 검색해서 텍스트에서 정보를 추출
  • 유효성 검사, 문자열 파싱 및 대체, 데이터 형식 변환 등에 사용
profile
오잉이라네 오잉이라네 오잉이라네 ~

0개의 댓글