Python_DAO,DTO,VO,디자인패턴(MVC패턴)
1. DAO(Data Access Object)
* DataBase 의 data에 접근하기 위한 객체로 직접 DataBase에 접근하여 데이터를 삽입,조회.변경 삭제 등을 조회할 수 있는 기능
* DataBase 접근을 하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용
✔비즈니스 로직
* 업무에 필요한 데이터처리를 수행하는 응용프로그램의 일부
* 데이터의 입력,수정,조회,삭제 및 처리 등을 수행하는 각종 처리를 의미
* 유저의 눈에는 보이지 않지만 ,유저가 원하는 행위를 잘 전달하기 위해 짜여진 코드 로직
2. DTO(Data transfer Object)
* 데이터 전송(이동) 객체라는 의미
* 로직을 가지지 않는 순수한 데이터 객체이며 getter/setter 메소드만 가진 클래스를 의미
3. VO(Value Object)
* Read - only 속성을 가진 오브젝트
* DTO 와 유사하지만 VO는 setter 를 가지고 있지 않아 값을 변경할 수 없음
* DTO는 인스턴스 개념이라면 VO 는 리터럴 개념
* DTO는 Layer 간의 통신 용도로 사용하는 객체이며,VO는 특정한 비즈니스 로직의 값을 담는 객체
4. MVC 패턴
* 디자인 패턴 중 하나
* M(Model),V(View),C(Controller) 의 약자
* 사용자가 view를 통해 controller 를 조작하면
controller 는 model을 통해 데이터를 가져오고, 그 정보를 통해 시각적인 담당을 하는 view를 다시 제어해서 사용자에게 전달
Model:
- 애플리케이션의 정보, 데이터를 나타냄
- 사용자가 편집하길 원하는 모든 테이터를 가지고 있음
- 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 함
- 변경이 일어나면 변경 통지에 대한 처리방법을 구현해야함
View:
- 텍스트,체크박스 등과 같은 사용자 인터페이스 요소를 나타냄
- 모델이 가지고 있는 정보를 따로 저장해서는 안됨
- 모델이나 컨트롤러와 같이 다른 구성요소들을 몰라야 함
Controller
- 데이터와 사용자 인터페이스 요소들을 연결하는 다리
- 모델이나 뷰에 대해 알고 있어야함
- 모델이나 뷰의 변경을 모니터링 해야 함
- 애플리케이션의 메인 로직은 컨트롤러가 담당
✔디자인 패턴
프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용하여 쓸 수 있는 것을 정리한 "규약"을 통해 형태로 만든것