본문 바로가기

Computer Science/Method4

레이어드 아키텍처 레이어드 아키텍처는 가장 흔한 아키텍처 스타일로 모놀리식 아키텍처 중 하나이다.단순하고 대중적이며 비용도 적게들어서 사실상 표준 아키텍처이다. 레이어 분리내부 컴포넌트는 논리적으로 수평한 레이어들로 구성된다.각 레이어는 애플리케이션에서 프레젠테이션 로직, 비즈니스 로직 등의 주어진 역할을 수행한다.일반적으로 프레젠테이션, 비즈니스, 퍼시스턴스, 데이터베이스 4개의 표준 레이어로 구성한다.물론 규모에 따라 병합하기도 하고, 그 이상의 레이어를 구성하기도 한다.1. Presentation Layer사용자 혹은 클라이어느 시스템과 직접적으로 연결되는 부분이다.이 외 비즈니스 로직은 해당 계층의 관심사가 아니다.2. Business Layer비즈니스 로직을 구현하는 부분이다. 실제로 시스템이 구현해야 하는 핵심.. 2024. 12. 2.
클린 아키텍처 클린 아키텍처란?소프트웨어 설계 원칙과 구조를 정의하는 방법론으로, 소프트웨어의 보수성과 확장성을 극대화하는 것을 목표로 합니다.2017년에 로버트 C. 마틴(Robert C. Martin, "Uncle Bob")이 자신의 책 Clean Arichitecture: A Craftsman's Guide to Software Structure and Design에서 소개하며 널리 알려졌습니다. 핵심 개념클린 아키텍처의 핵심은 시스템의 의존성 방향성을 엄격히 제어해, 핵심 비즈니스 로직(엔터프라이즈 로직)이 외부 요소(데이터베이스, 프레임워크, UI 등)에 의존하지 않도록 설계하는 것입니다. 이를 통해 시스템은 변경에 유연해지고, 재사용성과 테스트 용이성이 높아집니다. 구조클린 아키텍처는 여러 층으로 이루어진 .. 2024. 11. 27.
Testable Code란? Testable Code란쉽게 테스트할 수 있는 코드를 의미한다. 이는 코드가 독립적이고 예측 가능하게 동작하여 단위 테스트, 통합 테스트 등을 쉽게 수행할 수 있도록 작성된 코드를 가리킨다.Testable Code는 소프트웨어의 품질을 높이고 유지 보수성을 향상시키기 때문에 소프트웨어 개발에서 매우 중요하다.이 내용을 이해하기 위해서는 먼저 테스트하기 어려운 코드가 무엇인지 알아보자.Index1. 테스트하기 어려운 코드    1-1. 제어할 수 없는 값에 의존하는 경우    1-2. 외부에 영향을 주는 경우2. 테스트하기 좋은 코드로 개선     2-1. 제어할 수 없는 값에 의존하는 경우    2-2. 외부에 영향을 주는 경우3. 개인 소감1. 테스트하기 어려운 코드테스트 작성이 어려운 이유는 구현부.. 2024. 11. 13.
TDD (Test-Driven Development)란? TDD ( Test-Driven Development)란?TDD (Test-Driven Development, 테스트 주도 개발)은 소프트웨어 개발 방법론 중 하나로,개발자가 코드를 작성하기 전에 먼저 테스트 코드를 작성하는 방식을 말한다.이 방법론은 소프트웨어의 기능을 작은 단위로 나누어 테스트하고, 이를 통해 버그를 사전에 방지하며, 코드의 품질을 높이는 것을 목표로 한다.  TDD의 핵심 원칙 : Red-Green-Refactor 사이클TDD는 주로 Red-Green-Refactor라고 불리는 세 단계의 반복 사이클을 통해 이루어진다. 1. Red (실패하는 테스트 작성)새로운 기능을 추가하거나 기존 기능을 수정하기 위해 먼저 테스트 코드를 작성한다.이 테스트는 처음에 실패해야 한다. 왜냐하면 아직.. 2024. 11. 8.