본문 바로가기
반응형

전체 글163

[스프링 핵심 원리] JAVA 프로젝트에 OOP 원리 적용하기 (SRP, OCP, DIP) 앞선 포스팅에서 스프링 프레임워크와 객체 지향 설계의 SOLID 원칙의 관계에 대해 알아보았다. 이번 포스트에서는 순수 자바로 된 예제 코드를 작성한 뒤 여기에 객체 지향의 원리를 적용해볼 것이며, 그 후에는 이를 스프링으로 간단히 전환해 보겠다. 이전 포스트 -> [스프링 핵심 원리] 객체 지향 SOLID 원칙과 Spring의 관계 JAVA 프로젝트 설계하고 구현하기 공부를 위해 간단히 정리하여 남기는 목적이라, 강의에서보다 더 단순한 예제를 만들어볼 것이다. 예제 프로젝트 요구사항 회원은 가입하고 조회할 수 있다. 회원 데이터는 자체 DB를 구축할 수도 있고, 외부 시스템과 연동할 수 있다. (미확정) 요구사항을 보면 '미확정'인 부분이 있다. 이는 추후 서비스 기획에 따라 언제든지 바뀔 수 있다. .. 2021. 12. 5.
[스프링 핵심 원리] 객체 지향 SOLID 원칙과 Spring의 관계 스프링은 제어의 역전, 의존관계 주입을 통해 다형성을 극대화해서 이용할 수 있게 도와준다. 스프링을 사용하면 역할과 구현을 편리하게 다룰 수 있는 것이다. 이처럼 스프링은 객체 지향 프로그래밍과 밀접한 관련이 있다. 객체 지향 설계의 5원칙 (SOLID 원칙) 1. SRP (Single Responsibility Principle: 단일 책임 원칙) 한 클래스는 하나의 책임만 가져야 한다. 여기서 말하는 하나의 책임이란 매우 모호하다. 클 수도 있고, 작을 수도 있고 문맥과 상황에 따라 달라진다. 따라서 이를 적절히 잘 조정하는 것이 기술이다. 이 책임이란 것에 대한 중요한 기준은 바로 "변경"이다. 변경이 생겼을 때 그에 따른 파급 효과가 적으면 SRP를 잘 따른 것이라고 볼 수 있다. 2. OCP (.. 2021. 12. 3.
[IntelliJ/Windows] 인텔리제이 SDK 설정하기 & 윈도우 OpenJDK설치 인텔리제이에서 스프링 프로젝트를 진행하기 위해 SDK 설정이 필요했다. 평소에 우분투를 사용하다가 집에서 윈도우 환경에 세팅하려니 이것저것 찾아봐야해서 한번에 정리해보았다. 윈도우 10에 OpenJDK 11 설치하기 OpenJDK 11 다운로드 https://jdk.java.net/11/ 에서 문장 끝의 'OpenJDK Archive' 클릭 원하는 버전의 Windows 64-bit 옆의 zip 파일을 클릭하여 다운로드 (ex) 11.0.1 다운로드 받은 zip 파일의 압축을 풀어 원하는 위치로 이동 (ex) E:\Program\OpenJDK\jdk-11.0.1 JAVA_HOME 환경변수 설정 윈도우 검색창(윈도우키 클릭)에서 '환경 변수' 입력 후 나오는 '시스템 환경 변수 편집' 메뉴 들어가기 [환경 .. 2021. 12. 2.
[JAVA/JUnit5/Mokito] given() - 메소드 파라미터가 특정 클래스이면서 특정 필드 값을 가지는 경우 분기하기 새로운 팀으로 옮겨진지 약 3달 만에 끔찍한 TF를 벗어나고 드디어 팀에 관련된 일을 하게 되었다. 요즘은 테스트 코드만 하루 종일 짜는 중이다. 자바로 쓰인 Spring Boot 프로젝트에 대한 테스트 코드를 짜고 있어서 JUnit5에 Mokito 라이브러리를 사용 중이다. 테스트 코드를 처음 짜 봐서 초반에 정말 고생했다. 지금도 어려운 건 마찬가지이다. 문제점 - given(module.func( (ParamClass)param1)) .willReturn(ret1)을 사용할 때 param1과 다른 인스턴스로 인식되는 case 테스트 코드를 짜 보니 given - when - then 구조로 대부분 구성하게 되었고 given().willReturn() 구문을 자주 이용했다. 그런데 given()에 M.. 2021. 11. 27.
반응형