Controller <- Service <- Dao
(1) NoticeDao 통해서 SQL 연결시켜 함수 이용하게 하고
(2) (1)을 통해서 비즈니스 서비스 만들고 (ex - hitUp, likeUp...)
(3) (2)를 통해 Controller 에서 M, V 역할을 수행하고
서비스 | Dao |
사용자가 우리 페이지에서 이용할, 말그대로 정말 '서비스'를 넣어준다고 생각 - get같은 경우는 Dao랑 겹칠 수밖에 없음 (db에서 가지온 결과를 사용자가 봐야하기 때문에) |
sql '식'을 적어준다고 생각 get (selcect)은 페이징 처리 등이 있어서 여러 종류가 있다고 하더라도, 나머지 insert, update, delete는 이거로 다 '통합'해서 생각하기. |
그리고 서비스에서는 그 객체를 이용해서 DAO의 기능을 여러개 사용하여 서비스를 마련하는 것 (아래 그림 참고) |
DAO의 역할은 SQL을 객체화하는 작업이라고 보면 됨 ex) SQL에서 update가 있다면 DAO에 update 함수가 있는 것 |
트랜잭션은 무조건 '서비스'에서 처리 |
|
서비스 함수명을 보면 굉장히 비즈니스 친화적인 이름이다. 실제로 이렇게 비즈니스와 연관지어 이름을 지어야 한다고 함! - 그래야 기획 쪽에서 '이 부분 이상해요' 하면 바로 찾아볼 수 있도록 - 서비스 부분은 비즈니스 처리! |
|
예시 ) 사용자가 이미지를 올리는 행위를 생각해보자. | |
updateProfileImage() | update |
예시 ) 사용자가 댓글에 '좋아요'를 누르는 행위를 생각해보자. | |
likeToggle() cf) 좋아요를 다시 눌러서 취소시킬 수도 있으니 이런건 이름으로 Toggle을 해주자. |
update |
cf) DAO를 여러개 만들어야 함 - 테이블마다 필요함
https://ubermensch-with.tistory.com/448?category=938525
직접 느끼는 VIEW 데이터 활용 (0) | 2021.05.25 |
---|---|
63일차 - 페이지 보고 인터페이스 정의 & 구현 (0) | 2021.05.20 |
직접 경험한 DB 생생후기 (0) | 2021.05.17 |
프로젝트를 위한 폴더 관리 (0) | 2021.05.12 |