단일 책임 원칙 (Single Responsibility)

하나의 모듈은 단 하나의 일만 해야 한다

<장점>

테스팅하기 쉽다

결합도가 낮아진다

관심사 분리가 가능하다

⇒ 3-tier-architecture를 잘 따른다.

즉, 프레젠테이션, 비즈니스, 데이터 레이어로 구성된다.

Untitled

모델: 비즈니스 객체를 표현

서비스: 핵심 비즈니스 로직을 표현

레포지토리: 데이터베이스와 소통하는 경로

핸들러: 프레젠테이션 레이어 역할

개방 폐쇄 원칙(Open Close principle)

소프트웨어 엔티티들 - 클래스, 모듈, 함수 등- 확장에 대해서는 열려 있어야 하고, 변경에 대해선 닫혀 있어야 한다.