본문 바로가기
728x90

OCP3

[실전 자바 소프트웨어 개발] 3. 입출금 내역 분석기 확장판 이번 글은 지난 2장 정리글에 이어서 3장을 공부하고 기록합니다. [2장 정리글 링크] [실전 자바 소프트웨어 개발] 2. 입출금 내역 분석기 들어가면서.. 이 글은 실전 자바 소프트웨어 개발(Real-World Software Development) 책을 읽으며 공부한 점을 기록하기 위해 작성합니다. 이번 2장에서는 입출금 내역 분석기라는 소프트웨어를 개발하고, kkkdh.tistory.com 이번 장에서는 2장에서 구현한 입출금 내역 분석기에 추가 기능을 구현하고, 이 과정에서 OCP(open/closed principle), 개방 폐쇄 원칙을 배웁니다. 또한 인터페이스를 사용하는 일반적인 기준과 maven, gradle과 같은 검증된 빌드 도구를 활용해 자바 프로젝트를 시스템적(systemicall.. 2023. 8. 29.
[Spring MVC] MVC 프레임워크 만들기 프론트 컨트롤러 패턴이란? 이전까지 강의를 따라서 MVC 패턴을 적용하는 과정을 거치며, 반복되는 로직이 많아서 불편하다는 단점이 있었다. 이러한 반복되는 로직을 공통으로 처리하기 위해서는 프론트 컨트롤러 패턴을 적용해야 한다고.. 강의 자료의 사진을 조금 가져와보면, 이런 셈이다. Front controller라는 servlet을 만들어 공통 로직을 몰아서 처리하고, 각 Controller에서 처리할 작업을 담당하도록 구현하는 개발 방식이라고 한다. 항상 front controller에 의해 다른 controller가 호출되는 방식 FrontController 패턴의 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받는다. 프론트 컨트롤러가 알맞은 컨트롤러를 요청에 따라 찾아서 호출하는 구조 입.. 2023. 5. 6.
좋은 객체 지향 설계의 5가지 원칙 (SOLID) SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리했다. SRP: 단일 책임 원칙 (single responsibility principle) OCP: 개방-폐쇄 원칙 (open/closed principle) LSP: 리스코프 치환 원칙 (Liskov substitution principle) ISP: 인터페이스 분리 원칙 (Interface segregation principle) DIP: 의존 관계 역전 원칙 (Dependency inversion principle) SRP 단일 책임 원칙 - single responsibility principle 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. 클 수도 있고, 작을 수도 있다. 문맥과 .. 2022. 12. 24.
728x90