(개발) 프로젝트/Java로 직접 만드는 WAS3 [스프링 서버 구현하기] 템플릿 메소드 패턴과 템플릿 콜백 패턴 사람들과 스프링 서버를 직접 구현해보는 프로젝트를 하며 JDBC를 이용하여 외부 데이터베이스와 연결되는 레포지토리를 작성하게 되었습니다. 구현하는 과정에서 SQL 작성 부분만 바뀜에도 불구하고, 데이터베이스 Connection을 얻어오는 부분 같이 변경되지 않는 부분이 하나의 메소드에 있게 되었습니다. 따라서 변경되는 부분과 변경되지 않는 부분을 분리할 필요가 있다고 생각했고, 그에 대한 방법으로 템플릿 매소드 패턴과 템플릿 콜백 메소드 패턴 두가지를 떠올렸고, 최종적으로 템플릿 콜백 메소드 패턴을 적용했습니다. 또한 PR에서 관련 질문을 받았기에, 좀 더 확실히 익히고자 해당 글을 작성하게 되었습니다. 1. 템플릿 메소드 패턴템플릿 메소드 패턴이란 상속을 통해 기능을 확장해서 사용하는 패턴입니다. .. 2024. 3. 28. [스프링 서버 구현하기] 외부 데이터베이스 도입과 JDBC 스프링 서버를 직접 구현하며, 데이터를 저장하는 방식을 메모리에 저장하는 방식에서 JDBC API를 이용해서 외부 데이터베이스에 저장하는 방식으로 바꿨습니다. 그 이유는 메모리에 저장하게 되면, 애플리케이션이 종료될 경우 모든 데이터가 사라지게 되게 되기 때문입니다. 따라서 데이터를 영구적으로 저장할 수 있게 데이터베이스를 사용하기로 결정했고, 그 과정에서 학습한 내용을 기록했습니다. JDBC란?JDBC는 Java Database Connectivity의 약자로 Java에서 데이터베이스에 접속할 수 있도록 해주는 Java API입니다. JDBC를 통해 데이터베이스에 접근하는 과정JDBC를 통해 데이터베이스에 접근하는 과정은 다음과 같습니다.드라이버 로드DataSource를 통해 데이터베이스 연결 .. 2024. 3. 27. 디미터의 법칙(Law of Demeter) 1. 글을 작성하게 된 계기사람들과 스프링 서버를 만들어보는 프로젝트를 진행하며 디미터의 법칙에 대해 질문을 받았습니다. PR에 답하다 보니, 결합도와 디미터의 법칙에 대해 완전히 이해하지 못한 것 같아 이를 다시 한번 정리하고 글로 작성하게 되었습니다. 2. 디미터의 법칙디미터의 법칙(law of demeter, principle of least knowledge)은 객체지향 디자인 가이드라인입니다. 낮은 결합도를 유지할 수 있는 사례 중 하나입니다. 디미터의 법칙은 다음과 같은 원칙을 준수해야 합니다.각 객체는 다른 객체에 대해서 최소한의 정보만 알고 있어야 합니다.각 객체는 자신이 직접 조작하는 객체가 아닌 다른 객체를 알 수 없습니다. 클래스에 대해서는 구체적으로 다음과 같습니다.클래스 C의.. 2024. 3. 14. 이전 1 다음