디자인패턴 4

SOLID - SRP

이번 포스팅에서는 SOLID 원칙중 SRP의 개념을 이해하고, kotlin 코드로 개념을 익혀보려고 합니다.SRP의 개념은 다음과 같습니다. SRP, 단일 책임 원칙은 어떤 클래스를 변경의 이유가 하나여야 한다 조금 더 쉽게 풀어보면**단일 책임 원칙(SRP)**은 하나의 클래스가 오직 하나의 책임만 가져야 한다는 원칙입니다. 즉, 클래스가 변경되는 이유는 하나뿐이어야 하며, 여러 가지 책임을 가진다면 이를 적절하게 분리해야 합니다. 각 객체가 특정 역할만 담당하게 되면, 각 책임에 대해 독립적으로 변경 및 유지보수가 가능해집니다. SRP내용을 이해하기 위해서 가상의 개발자와 코드리뷰를 하는 형식으로 내용을 작성했습니다. OOP를 모르는 논리적인 개발자가 개발한 코드를 SRP을 적용하여 질답을 하는 구조..

디자인패턴 2024.09.19

소프트웨어 설계원칙 - 관심사 분리

정말 많이 듣고 쓰는 용어지만 머릿속에 정리가 안되어 정리했습니다웹애플리케이션 개발자로서 소프트웨어 개발 및 유지보수시 프로그램을 설계하는일이 대부분입니다가장 중요한 개념이라고 하면 "관심사 분리"라고 말할 수 있습니다관심사 분리(Separation of Concerns, SoC):정의: 프로그램을 구별된 부분으로 분리하여, 각 부분이 단일 관심사를 다루도록 하는 설계 원칙입니다.목적:코드의 모듈성 향상유지보수성 개선재사용성 증가테스트 용이성 제고주요 이점:코드 복잡성 감소변경의 영향 범위 최소화병렬 개발 가능적용 방법:계층화 (예: 프레젠테이션, 비즈니스 로직, 데이터 접근 계층)모듈화인터페이스 사용이제 코틀린으로 출퇴근 관리 시스템의 일부를 구현하는 예시를 들어보겠습니다:// 데이터 액세스 계층int..

디자인패턴 2024.08.07

전략패턴

이번 포스트는 인프런 - 스프링 핵심 원리 고급편을 정리한 내용입니다 이전 포스트에서 템플릿 메서드 패턴을 다뤘습니다 전략 패턴 구조 출처: https://blog.naver.com/2feelus/220658663151 템플릿 메서드 패턴이번 포스트는 인프런 - 스프링 핵심 원리 고급편을 정리한 내용입니다.  템플릿 메서드 패턴은 GoF의 디자인 패턴중 행위 패턴중 하나입니다출처: https://engineering.linecorp.com/ko/blog/templete-method-patblogger903.tistory.com 템플릿 메서드 패턴은 Template 추상 클래스에 공통으로 사용할 코드를 두고 Template을 확장한 서브 클래스에서 비즈니스 로직을 구현하면서 비즈니스 로직과 반복되는 부가 ..

디자인패턴 2024.06.16

템플릿 메서드 패턴

이번 포스트는 인프런 - 스프링 핵심 원리 고급편을 정리한 내용입니다.  템플릿 메서드 패턴은 GoF의 디자인 패턴중 행위 패턴중 하나입니다출처: https://engineering.linecorp.com/ko/blog/templete-method-pattern 템플릿 메서드 패턴으로 모순 없는 상태 보장하기시작하기 전에 안녕하세요. LINE Pay의 iOS 개발을 맡고 있는 정지인입니다. LINE Pay iOS의 결제 기능을 리팩토링하는 데에 적용했던 템플릿 메서드 패턴을 이용한 계약 기반 프로그래밍 기법에 대해engineering.linecorp.com 이 패턴은 서비스 로직에서 비즈니스 로직과 운영에 필요한 부가 코드들을 분리할때 유용하게 쓰입니다부가 코드가 구조가 동일할때 중복 코드를 제거하고 코..

디자인패턴 2024.06.16