CS/디자인패턴 2

전략 패턴 (Strategy Pattern)

1차적으로 프로젝트 MVP 개발을 마무리하고, 리팩토링 작업에 들어갔다. 작성했던 코드를 다시한번 살펴보는데 머리가 아파오기 시작했다. 짧은 기간동안 MVP 개발에만 집중했던 탓인지 가독성이 떨어지고, 중복되는 코드가 많고, 네이밍 규칙도 존재하지 않는 등 많은 문제가 보이는 내 코드들을 보니 마음이 아파왔다. 그래서 코드의 효율성과 가독성을 위해서 리팩토링을 하기로 마음먹었다. 문제점 발견 코드를 보다보니 내 눈에 들어온 것은 미래를 생각하지 않은 if문 사용이었다. //댓글 달기 public void commentService(CommentRequestDTO commentRequestDTO, CustomUserDetails customUserDetails){ String postId = c..

CS/디자인패턴 2025.04.24

싱글톤 패턴 (singleton pattern)

싱글톤 패턴은, 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 보통 하나의 클래스를 가지고 여러개의 인스턴스를 만들 수 있지만,그렇게 하지 않고, 하나의 인스턴스만 만드는 것이다!보통 데이터베이스 연결 모듈에 많이 사용한다. 이렇게 한다면, 장점하나의 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 새로운 인스턴스를 생성하는 비용이 줄어든다.단점하나의 인스턴스를 다른 모듈들이 공유하면 사용하기 때문에 해당 인스턴스의 의존성이 높아진다. // DB 연결을 하는 것이기 때문에 비용이 더 높은 작업 const URL = 'mongodb://localhost:27017/kundolapp' const createConnection = url => ({"url" : url}) class ..

CS/디자인패턴 2025.04.19
728x90