일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- alias
- Oracle SQL
- HTTP Status 404
- 모조칼럼
- CRUD
- group by
- sql developer
- github
- JavaScript
- Oracle DB
- HTTP Status 500
- jQuery
- 성적프로그램
- oracle
- tomcat
- 부트스트랩
- rownum
- Bootstrap
- SQL
- 답변형 게시판
- 한글 인코딩
- distinct
- 이클립스
- HTML
- ||
- JSP
- git
- 과정평가형
- 제약조건
- Java
Archives
초급의 끄적거림
[Spring] 애플리케이션 계층 / 단일 책임 원칙 본문
애플리케이션 계층
- 애플리케이션의 로직을 담고 있음
- 데이터 액세스 로직 : 데이터를 어떻게 가져오고 등록할 것인가
- 비즈니스 로직 : 순수하게 사용자 관리의 업무의 로직을 담고 있음
- 결합도가 낮아지면 데이터 액세스 로직이 바뀌거나 기술이 바뀌어도 비즈니스 로직에 영향을 주지 않는다는 뜻이며, 서로 독립적으로 확장될 수 있음
단일 책임 원칙
- 적절한 분리가 가져오는 특징
- 하나의 모듈은 한가지의 책임을 가져야 한다.
- 하나의 모듈이 바뀌는 이유는 1가지여야 한다.
- 장점
- 수정 대상이 명확해짐 : 기술이 바뀌면 기술 추상화 계층의 설정을 바뀌주고 데이터를 가져오는 테이블의 이름이 바뀌었다면 데이터 액세스 로직을 수정)
- 단일 책임 원칙을 잘 지키는 코드를 만들려면,
- 인터페이스를 도입하고 이를 DI로 연결해야 하며,
- 그 결과로 단일 책임 원칙뿐 아니라 개방 폐쇄 원칙도 잘 지키고
- 모듈간에 결합도가 낮아서 서로의 변경에 영향을 주지 않으며,
- 같은 이유로 변경이 단일 책임에 집중되는 응집도 높은 코드가 나옴
'Framework > Spring' 카테고리의 다른 글
[어노테이션] @RequestMapping / @RequestParam (0) | 2020.07.03 |
---|---|
[Spring] Tomcat version 8.5 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5, 6, and 7 Web modules (0) | 2020.04.26 |
[Spring] project configuration is not up-to-date with pom.xml (0) | 2020.04.12 |
[Spring] 런타임과 컴파일타임의 차이 (0) | 2020.03.08 |
[Spring] 파일 다운로드/업로드 (수정, 삭제) (0) | 2019.10.20 |
Comments