Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • [Bootcamp 2023 요약] 디자인 패턴과 유닛 테스트를 사용하여 고품질 시스템을 만드는 방법 - Cesar Romero


    Kori

    >>Bootcamp로 이동
    >>2023 시리즈 목록으로 이동

    bootcamp2023CleanArchitecture.png

     

    고품질 시스템 즉 관리하기 쉽고, 접근하기 쉽고, 테스트하기 쉬워서 버그(bug, 오류)가 적은 시스템을 만드는 것이 엔터프라이즈 시스템에서는 특히 중요하다. 이 목적을 달성하려면, 검증된 베스트 프렉티스(들), 디자인 패턴(들), 시스템 통합 아키텍처를 적용하는 것이 좋다.

    이 세션은 클린 아키텍처, 의존성 주입, 모의 개체를 사용한 유닛 테스트 등 검증된 베스트 프렉티스와, 디자인 패턴을 델파이에서 어떻게 구현하지 실제 예제를 통해 보여준다.

    이 세션을 학습하고 나면, 델파이와 디자인 패턴을 사용하여 고품질의 유지 관리가 쉬운 시스템을 작성하는 방법을 이해하게 될 것이다.

    원본 비디오(YouTube) 보기 (Q&A 제외 38 min)

    Bootcamp 2023 시리즈 중, Bootcamp 의 2023 시리즈 중, "How to use design patterns and unit tests to create quality systems - Cesar Romero" (Q&A 제외 38 min) 의 한글 요약본입니다. 

    고품질 시스템을 실현하고 유지하려면 

    고품질 시스템 즉 관리하기 쉽고, 접근하기 쉽고, 테스트하기 쉬워서 버그(bug, 오류)가 적은 시스템을 만드는 것이 엔터프라이즈 시스템에서는 특히 중요하다. 이 목적을 달성하려면, 클린 아키텍처, 의존성 주입 등 검증된 베스트 프렉티스(들), 디자인 패턴(들), 시스템 통합 아키텍처를 적용하는 것이 좋다.

    그런데, 이런 작업은 쉽지 않다. 그래서, 버그가 많은 소프트웨어들이 만들어진다.

    개발자가 옳은 일을 할 때 너무 많은 생각을 할 필요가 없도록 해주어야 한다 (옳게 하기 쉽고, 틀리게 하기가 어렵도록 해야한다).

    SOLID 중 하나인 의존성 역전 (Dependency inversion) 원칙을 실현하려면 

    엔터프라이즈 시스템에서 유닛 테스트가 쉽지 않은 이유는 비즈니스 계층에 대한 테스트는 결국 외부 계층 (주로 데이터베이스 계층)에 의존하게 되기 때문이다. 이를 아키텍처 수준에서 해소하기 위해 제안된 것이 클린 아키텍처이다.

    클린 아키텍처 (Clean Architecture)

    클린 아키텍처 (Clean Architecture)에서는 비즈니스 계층이 중심이 되고, 비즈니스 계층은 다른 어떤 계층에도 의존하지 않는다. 그러면, 아키텍처와 의존성 주입 패턴이 같은 방향을 지향할 수 있다. 

    • 커플링(coupling)이 줄어들고, 의존성 주입을 사용하고, 유닛 테스트 작성하는 작업이 더 간편해지고 쉬워진다.
    • 클린 아키텍처를 도입하면, 외부 의존 대상을 모조품(mock)으로 대체할 수 있다.
    • 그러면, 통제 할 수 있고, 지속적 테스트가 가능한 환경을 갖출 수 있다.

    델파이 개발자들이 이것을 어떻게 구현하는지에 대해 실제 예제를 설명하는 데모

    (이 세션의 대부분을 차지하며, 실제 코드를 설명합니다.)

    품질이 높고, 관리하기 쉬운 시스템을 델파이에서 클린 아키텍처를 사용하여 구현할 수 있게 될 것이다.  또한 디자인 패턴은 많은 프로그래밍 언어에서 사용되고 있다. 

    • 먼저 해소하려는 당면 과제를 제시하고, 소프트웨어 아키텍처 기본 개념 (클린 아키텍처, 의존성 주입 디자인 패턴,  모조품을 활용한 유닛 테스트...)을 설명한다.
    • 이를 통해 얻게 되는 이점들을 설명한다. (이런 이점을 개발자들이 잘 알고 있는 것이 매우 중요하다. 그렇지 않으면, 전체 팀원의 일상 작업으로 정착하지 못한다. 변화보다는 늘 하던데로만 하기를 선호하기 때문이다).
    • 품질이 높은 시스템을 만들려면 유닛 테스트를 작성해야 하는데, 델파이 개발자 입장에서 어떤 어려움이 있고, 그것을 어떻게 넘어서는지 그 방법을 설명한다. 
    • 마지막으로 클린 아키텍처를 적용하여 델파이로 만든 시스템의 현실적인 사례를 데모를 통해 보여준다. 


    데모에서 사용된 코드:

    Spring4D 공식 코드 저장소:


    User Feedback

    Recommended Comments

    There are no comments to display.


×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.