본문 바로가기
  • 개발하는 곰돌이

2023/01/262

[Spring/Spring Boot] Service와 ServiceImpl 구조에 대하여 목차 문제 인식 Spring 또는 Spring Boot 예제들을 보면 거의 모든 예제가 위와 같이 Service 인터페이스와 각 서비스 인터페이스에 대한 구현체 클래스로 구성되어 있다. 이러한 구조 자체는 다형성적인 측면에서 보면 절대 잘못된 것이 아니지만, 온라인 상의 거의 모든 예제들, 나아가 회사에서 진행하는 프로젝트에서도 이러한 구조를 무분별하게 사용하는 모습을 보면서 한가지 의문이 생겼다. 어차피 인터페이스와 구현체 클래스를 1:1로 구성할거면 인터페이스 없이 서비스 클래스를 바로 작성하면 되지 않나? 이러한 의문으로 인해 서비스 인터페이스 - 구현체 클래스의 구조가 탄생한 계기에 대해 찾아보게 되었다. Service 인터페이스와 ServiceImpl 구현체 클래스를 나누는 이유 기본적으로 Se.. 2023. 1. 26.
[Kotlin] 백준 23300 : 웹 브라우저 2 문제 링크 23300번: 웹 브라우저 2 첫째 줄에 접속할 수 있는 웹페이지의 종류의 수 N, 사용자가 수행하는 작업의 개수 Q 가 각각 주어진다.(1 ≤ N, Q ≤ 2,000) 둘째 줄부터는 Q개의 작업이 주어지며, 각 작업이 의미하는 바는 다음 www.acmicpc.net 문제 해설 뒤로가기 목록을 저장할 스택과 앞으로가기 목록을 저장할 큐를 각각 만들면 손쉽게 해결할 수 있다. 본 코드에서는 덱을 사용했지만 크게 상관은 없다고 생각한다. 압축 기능은 뒤로가기 목록의 2번째 페이지부터 마지막 페이지까지 이동하면서 이전 페이지와 같으면 제거하는 식으로 구현했다. Code import java.util.StringTokenizer fun main() = with(System.`in`.bufferedRe.. 2023. 1. 26.