📚 우리를 위한 디자인 패턴

디자인 패턴은 아키텍처 사용과 확장성 있고 유지 관리하기 쉬운 깔끔한 코드를 구성하는데 도움을 줄 수 있는 일종의 표준이 된 모범 사례로 소프트웨어 개발의 일반적인 문제, 즉 다양한 프로그래밍 언어에서 공통적으로 개발자가 직면할 수 있는 문제에 대한 해결책을 제시합니다. 디자인 패턴을 익혀두면 다른 사람들이 작성한 코드에서 어떤 패턴이 사용되었을 경우 이를 빨리 파악하여 코드에 대한 이해를 높일 수 있고 새 프로젝트를 시작하는 경우 상황에 맞는 적절한 디자인 패턴을 적용함으로써 견고하게 프로젝트를 구축할 수 있습니다. 디자인 패턴은 다음과 같이 크게 3가지 종류로 구분하고 있습니다. 📌 생성(Creational) 생성 패턴은 객체를 생성하는 방법에 중점을 두는 디자인 패턴을 말하는데요, 생성 패턴에 속한 디자인 패턴들은 객체 생성에 관련된 로직을 캡슐화하여 코드의 재사용성을 향상시켜줍니다. 📌 구조(Structural) 구조 패턴은 객체와 클래스의 관계를 재정의하여 새로운 구조로 만드는 디자인 패턴을 말합니다. 예를 들어 서로 호환되지 않는 인터페이스를 연결하거나, 서로 다른 인터페이스를 가진 클래스들이 상호 작용할 수 있도록 만드는 방식 등을 말합니다. 📌 행동(Behavioral) 행동 패턴은 객체의 상호작용과 책임 분산에 초점을 둔 디자인 패턴을 말합니다. 시스템 설계 시 행동 패턴을 적용하면 복잡한 객체 간 통신을 간소화하고, 각 객체의 독립성을 유지할 수 있습니다. 또한 객체를 독립적으로 다룰 수 있게 되어 테스트를 편리하게 진행할 수 있으며, 코드의 재사용성도 높일 수 있습니다. 디자인 패턴의 주의할 점은 디자인 패턴은 모든 문제에 대한 해결책은 아니라는 점입니다. 올바르지 않은곳에 억지로 적용할경우 재앙에 가까운 끔찍한 코드를 마주할 수 있습니다. 따라서 올바른곳에 디자인 패턴을 사용하게끔 각 패턴의 개념과 유즈케이스 등을 익혀둘 필요가 있는데요, 각 디자인 패턴에 대한 개념과 샘플 코드를 자세히 정리한 글이 있어 공유드립니다. 📚 원문 - 원문: https://github.com/kamranahmedse/design-patterns-for-humans/blob/master/readme.md - 번역글: https://soobing.github.io/cs/design-patterns-for-humans/ 📚 같이 보면 좋은 글 - 자바 생성 패턴을 실제 프로젝트에 적용하려면?: https://yozm.wishket.com/magazine/detail/2155/ - 자바 어댑터 패턴은 어떻게 쓰일까?: https://yozm.wishket.com/magazine/detail/2077/ - 자바 구조 패턴은 어떻게 쓰일까?: https://yozm.wishket.com/magazine/detail/2122/ - 자바 행동 패턴은 어떻게 사용해야할까?: https://yozm.wishket.com/magazine/detail/2190/

design-patterns-for-humans/readme.md at master · kamranahmedse/design-patterns-for-humans

GitHub

design-patterns-for-humans/readme.md at master · kamranahmedse/design-patterns-for-humans

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 8월 29일 오전 7:59

 • 

저장 39조회 3,241

댓글 0

    함께 읽은 게시물


    알아 알아 알아! 🤣

    ... 더 보기

    액터모델을 이용 이벤트소스/클러스터상태관리를 우아하게하기 - 코틀린


    ... 더 보기

    kopring-reactive-labs/AgenticCoding/Projects/PERSIST_DURABLE_CLUSTER at main · psmon/kopring-reactive-labs

    GitHub

    kopring-reactive-labs/AgenticCoding/Projects/PERSIST_DURABLE_CLUSTER at main · psmon/kopring-reactive-labs

    나는 종종 생산성을 올리기 위한 각종 개발 툴은 물론, 라이브러리나 소스 코드를 구매하기도 한다.


    소스 코드의 경우 실제로 써먹지 못하는 경우도 상당수 되긴 하지만, 그래도 구성이나 코드를 보면서 배우는게 있기 때문에 학습 비용이라고 생각하고 가끔 구매하는 편이다.


    ... 더 보기

    이젠 Claude 모델이 그렇게 압도적으로 좋은 건 아닌데, Claude Code는 진짜 분명하게 좋음. 아마도 프롬프트가 잘 되어 있어서 그런 것 같음. Claude의 다른 프롬프트들은 공개해뒀는데 Claude Code용 프롬프트는 공개를 안해줌. 역시 아무리 투명하게 공개한다고 해도 진짜 좋은 건 다 기업비밀임..


    괜찮아 괜찮아 괜찮아!

    

    ... 더 보기