목록Refactoring (3)
코딩 이래요래

AOP를 적용해 로깅 코드 분리 리팩토링이전에 정리한 블로그 내용 중 AOP 개념을 정리한 적이 있는데, 그 당시에는 간단하게만 정리하고 넘어갔지만, 프로젝트 리팩토링을 통해 개념을 다시 정리 해보려고 한다 Spring Framework 핵심 개념1. IoC (Inversion of Control) - 제어의 역전 즉, 객체의 생성, 초기화 등 개발자가 직접 제어하는 것이 아닌, 컨테이너가 대신 관리하는 개념 1-1. IoC 구조 ☑️ 기존의 의존성 주입// controllerpublic class Userkh-coding.tistory.com AOP(Aspect Oriented Programming)란 ?OOP 프로그래밍을 하다보면 어쩔 수 없이 반복적으로 등장하는 코드들이 생기기 마련로깅트랜잭션 처..
File I/O를 이용한 Repository의 저장 및 로드 메소드 리팩토링☑️ 기존 FileRepository 저장 및 로드 메소드@Repository@ConditionalOnProperty(name = "discodeit.repository.type", havingValue = "file")public class FileChannelRepository implements ChannelRepository { private final Map channels; public Map loadFromFile() { File file = new File(filePath); if (!file.exists()) return new HashMap(); try (Objec..

💡 Sprint Mission Part-1 RefactoringUseCase Layer로 서비스 간 의존성 정리하기이번 미션은 이전에 진행했던 User ↔ Channel 구조를 다시 바라보며, 서비스 간 양방향 의존이 필요한 상황을 어떻게 풀어야 할까? 에 대한 고민을 UseCase Layer를 도입해서 리팩토링 해보는 내용임 Sprint Mission Part-1Sprint Mission Part-1 (Java) 요구사항 및 구현 정리본 글에서는 스프린트 미션 Part-1에서 진행한Java를 활용한 디스코드(Discord) 서비스 도메인 모델링 및 CRUD 서비스 구현 내용을 정리함✅ 미션 요구사항kh-coding.tistory.com 🧩 느낀 의문점User와 Channel 도메인을 설계할 때,U..