토비의 스프링

Lee1231234·2023년 7월 3일
0

스프링

목록 보기
2/3

DAO(Data Access Object)

데이터베이스를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트

  • DAO의 사용이유
    관심사의 분리. 서버에서 데이터를 가지고 올때 분명 처리해야하는 로직이 있을것이다. 이때 모든 로직이 하나로 이루어져 있다면 객체지향적으로 생각해보면 수정이 모든 클래스가 수정이 되야하거나 오브젝트의 변경이 이루어져야 한다. 따라서 DAO가 있는 이유는 로직의 분리. 크게 보면 데이터베이스의 접근하는 로직과 비지니스 로직의 분리를 위해서 사용된다고 볼수있다.

DTO(Data Transfer Object)

계층단 데이터를 교환하기 위한 객체(Java Beans)

  • Java Beans
    초기에는 비주얼 툴에서 조작 가능한 컴포넌트를 말하나 지금은 두 가지 관례에 따라 만들어진 오브젝트를 말함
    • 디폴트 생성자: 파라미터가 없는 디폴트 생성자를 가지고 있어야한다.
    • 프로퍼티 : 자바빈이 노출하는 이름을 가진 속성을 프로퍼티라고한다. set과 get으로 이루어진 수성자,접근자 메소드르르 이용해 수정,조회를 할 수 있다.

VO(Value Object)

값 오브젝트 오직 읽기만 가능한 속성

자바에서 분리를 잘하려면.

  • 중복코드의 클래스화
  • 클래스의 분리와 상속을 통한 확장.
  • 인터페이스를 통한 추상화

객체 지향 설계 원칙(SOLID)

  • SPR : 단일책임 원칙
    작성된 클래스는 하나의 기능만 가지고 하나의 책임을 수행하는데 집중
  • OCP : 개방 폐쇄 원칙
    소프트웨어의 구성요소(컴포넌트,클래스,모듈,함수)는 확장에는 열려있고, 변경에는 닫혀있어야한다.
  • LSP : 리스코프 치환 원칙
    서브타입은 언제나 기반 타입으로 교체할 수 있어야 한다.
  • ISP : 인터페이스 분리 원칙
    한 클래스는 자신이 사용하지 않는 인터페이스를 구현하지 말아야 한다.
  • DIP : 의존관계 역전 원칙
    구조적 디자인에서 하위 레벨의 모듈 변경이 상위 레벨 모듈의 변경을 요구하지 말아햐 한다.

출처 객체 지향 설계 원칙

profile
not null

0개의 댓글