코드 없이 이해하는 '단일책임원칙(SRP)' 이야기
단일책임원칙(SRP)을 비유를 통해 쉽게 풀어낸 설계 가이드입니다. 책임과 기능의 구분, 설계 트레이드오프를 함께 다뤘습니다.
디자인패턴 태그가 달린 국내 IT 기업 기술 블로그 글을 최신순으로 모았습니다.
20개 표시
단일책임원칙(SRP)을 비유를 통해 쉽게 풀어낸 설계 가이드입니다. 책임과 기능의 구분, 설계 트레이드오프를 함께 다뤘습니다.
Software 3.0 시대의 의미와 Claude Code를 기존 레이어드 아키텍처로 해석하는 관점을 정리했습니다. 또한 HITL, 토큰 관리, Skill 설계에서의 실전 주의점을 함께 다뤘습니다.

페이지 타입별 필터 정책이 코드 곳곳에 흩어져 있어 확장과 유지보수가 어려운 문제를 리팩토링했습니다. 정책은 전략으로, 생성은 공통 흐름으로 분리해 변경 지점을 명확히 했습니다.
숙박 전시 도메인의 복잡한 노출 로직을 Kotlin DSL로 표현한 적용 사례를 소개했습니다. 가독성은 좋아졌지만 내부 구현 복잡도와 팀의 러닝 커브가 커지는 트레이드오프도 있었습니다.
테마처럼 값만 다른 경우에는 상속보다 값 객체로 표현하는 편이 더 간결하다고 정리했습니다. Kotlin의 비상속 클래스 특성을 활용해 동적 변경 가능성과 불필요한 로직을 줄이는 방법을 제안했습니다.

인지 부하를 줄이는 설계가 개발 효율성과 유지보수성을 높이는 핵심이라고 설명합니다. 복잡한 조건문, 얕은 모듈, 과도한 추상화 대신 단순한 인터페이스와 명확한 구조를 권장합니다.
![[번역글] 핵심은 인지 부하입니다 - 인지 부하와 소프트웨어 개발 효율성에 대한 고찰](https://devocean.sk.com/thumnail/2025/9/9/05598bffb7699521eb9e615dc256eb305147ef589de5e003565cbc0c522f6069.png)
널 객체 패턴은 호출부를 단순하게 만들 수 있지만, 오류 값과 정상 값을 구분해야 할 때는 부적합했습니다. 타입으로 구분 가능한 경우에는 Optional이나 null 같은 정적 표현을 우선 고려해야 했습니다.

책임을 분리하면 코드가 더 깔끔해질 것 같지만, 제약 조건과 의존성이 오히려 흩어질 수 있었습니다. 클래스 분할뿐 아니라 호출자 부담과 결합도까지 함께 살펴야 했습니다.

양방향 변환은 한쪽 로직을 기준으로 다른 쪽을 유도하는 편이 안전했습니다. 중복 값과 누락은 테스트로 보강하는 방식이 유효했습니다.

테스트 코드가 어려워지는 원인을 고수준 목과 얽힌 설계 문제로 설명했습니다. 험블 객체 패턴과 인터페이스로 테스트하기 쉬운 구조를 만드는 방법을 다뤘습니다.
FastAPI의 Depends()로 의존성 주입을 적용하는 방법을 설명했습니다. 비즈니스 로직과 구현체를 분리해 유연성과 테스트 용이성을 높이는 구조를 소개했습니다.

리브랜딩 후 사용자에게 오류처럼 보이던 UI icon을 폰트 기반 디자인과 명확한 가이드로 개선했습니다. 그 결과 VOC가 감소하고 아이콘 제작 리소스도 크게 줄었습니다.

0.5인 리소스로 디자인 시스템을 운영한 사례와 전략을 정리했습니다. 어드민과 대고객 서비스에 서로 다른 도구를 적용하고, 피드백·자동화·히스토리 관리로 운영 효율을 높였습니다.

반복문 내부의 큰 조건 분기가 흐름 파악과 대응 관계를 어렵게 만든다고 설명했습니다. 이를 해결하는 네 가지 재구조화 방식과 각 장단점을 정리했습니다.

SOLID 5대 원칙의 역사와 장점을 정리한 글입니다. 면접 상황을 예시로 각 원칙의 핵심과 오해를 가볍게 짚었습니다.
React에 디자인 패턴을 적용해보려는 내용을 소개한 글입니다. Vue 경험을 바탕으로 React 개발 관점에서 접근했습니다.
옵저버 패턴의 개념과 동작 메커니즘을 유튜브 구독 예시로 설명했습니다. 또한 Coroutine과 Flow로 이를 더 간결하고 유연하게 구현하는 방법을 다뤘습니다.

템플릿 메소드 패턴의 개념과 동작 방식을 예시 코드로 설명했습니다. 후크와 할리우드 원칙, 장단점까지 함께 정리했습니다.

템플릿 메소드 패턴은 상위 클래스가 전체 흐름을 정의하고 하위 클래스가 세부 단계를 구현하는 방식입니다. 공통 로직과 변동 로직을 분리해 재사용성과 유지보수성을 높일 수 있습니다.

러스트로 디자인 패턴을 다루는 방법을 소개하는 글입니다. 제공된 내용만으로는 구체적인 패턴이나 구현 예시를 확인하기 어려웠습니다.