728x90
현재까지는 하나의 파일에 코드를 작성한 상황이었지만, 이렇게 코드를 작성했을 때엔 유지보수가 매우 불리하다는 단점이 있다
(수정 사항이 생겼을 경우 여러개의 코드를 고쳐 작성해야 함)
하지만 MVC 패턴을 활용하면 결합도를 낮추어 유지보수에 용이해질 수 있다
또한, CRUD는 변하면 안되는 특징이 네 가지가 있다
1. 유지보수 가능성
MVC 패턴은 각 구성 요소 간의 분리와 관심사의 분리를 강조한다 CRUD 연산은 주로 모델 부분에 해당하며,
이 연산은 변경하면 모델의 로직이 변경되어야 한다
하지만 모델은 비즈니스 로직을 담당하므로, CRUD 연산을 변경하면 많은 다른 부분에 영향을 줄 수 있다
이로 인해 유지보수가 어려워질 수 있다
2. 응집도와 결합도
MVC 패턴은 응집도와 결합도의 개념을 중요시한다
응집도란 하나의 모듈 또는 클래스가 얼마나 관련된 작업을 수행하는지를 나타내며, 결합도는 모듈 간의 의존성 정도를 나타낸다
CRUD 연산이 모델 내부에 존재하고 있다면 모델은 자신의 주요 역할인 비즈니스 로직과는 별개의 작업을 수행하게 되며, 결합도가 높아진다
3. 확장성과 유연성
어플리케이션의 요구사항이 변할 때, CRUD 연산의 변경으로 인해 다른 부분에 예상치 못한 영향이 생길 수 있다
이로 인해 어플리케이션의 확장성과 유연성이 저하될 수 있다
그 대신 CRUD 연산을 별도의 모듈로 분리하고 추상화하여 확장 가능한 구조를 유지하는 것이 좋다
정리하자면, 모델의 DAO 파일에서 CRUD는 어떠한 요청 사항이 와도 메소드 시그니처가 절대로 변하지 않도록 해야한다
따라서 설계 단계에서 메소드 시그니처가 변경되지 않도록 설계를 해야 한다
728x90
'JAVA > JAVA 정리' 카테고리의 다른 글
[JAVA] 웹 크롤링 (Web Crawling) (0) | 2023.06.10 |
---|---|
[JAVA] MVC 패턴 (0) | 2023.06.06 |
[JAVA] 파일 입출력 (4) | 2023.06.04 |
[JAVA] 스레드 (0) | 2023.06.02 |
[JAVA] 컬렉션 프레임워크 (List 컬렉션, Set 컬렉션) (0) | 2023.06.01 |