공부/객체지향프로그래밍

Codeigniter4에서 객체지향으로 REST API 만들기 1 (구조 설계)

2020. 1. 12. 19:27

코드이그나이터에 객체지향을 도입하기 위해 추가한 것

  • Service Layers(비즈니스 로직을 처리할 부분)
  • DTO (데이터 전달을 위한 객체)
  • Entity (테이블과 매핑되는 객체)
  • VO (DTO와 Entity만 사용하고 추후에 필요시 도입)
  • DAO (데이터베이스에 접근하는 클래스)
  • Domain (도메인 객체)

 

변경된 app 디렉토리 구조

/app
        /Config         구성 파일 저장
        /Controllers    프로그램 흐름을 결정하는 컨트롤러
        /Database       데이터베이스 마이그레이션 및 시드(seed) 파일 저장
        /Filters        컨트롤러 전후에 실행할 수 있는 필터 클래스 저장
        /Helpers        독립형 함수 모음(Helper) 저장
        /Language       다국어 지원을 위한 언어 파일 저장
        /Libraries      카테고리에 포함되지 않는 유용한 클래스 모음
        /Models         데이터베이스와 함께 작동하는 모델 저장 Repositories로 대체

        /Services    비즈니스 로직 처리 레이어

        /Repositories    데이터베이스와 함께 작동하는 모델 저장

        /Entities    도메인 객체 모음

        /DTO    데이터 전달 객체들 모음

        /Mappers    Entity→DTO, DTO->Entity 변환 해주는 객체들 모음
        /ThirdParty     어플리케이션에서 사용할 수 있는 타사 라이브러리
        /Views          클라이언트에 표시되는 HTML로 구성된 뷰 (필요하지 않을 것 같음)

 

 

 

sequence diagram

 

반응형