Java (31) 썸네일형 리스트형 3-1. 데이터베이스 중심 설계 vs 인터페이스 중심 설계 데이터베이스 중심 설계 vs 인터페이스 중심 설계: TDD와의 비교프로그래머로서 우리는 시스템 설계를 다양한 방식으로 접근합니다. 이번 내용은 데이터베이스에서 시작하는 설계(Database-First Design)와 인터페이스에서 시작하는 설계(Interface-First Design)의 특징을 비교하고, TDD(Test-Driven Development)가 어떻게 인터페이스 중심을 강화하는지 설명합니다. TDD는 요구사항을 테스트로 구체화하며, 데이터베이스를 기능 구현 도구로 활용해 유연성을 강조합니다. 이를 통해 두 설계 방식의 차이를 이해하고, 실습에서 임의 테스트 데이터 생성 기법을 통해 TDD의 실용성을 살펴보겠습니다. 1. 데이터베이스에서 시작하는 설계 (Database-First Design.. 2-4. TDD에 대한 오해 해당 포스트는 이규원님의 "Spring Boot TDD" 강의를 기반으로 작성하였습니다. Spring Boot TDD - 입문부터 실전까지 정확하게| 이규원 - 인프런 강의현재 평점 5점 수강생 364명인 강의를 만나보세요. 더 빠르고 더 견고하게 Spring Boot 응용프로그램을 개발하세요. 정확한 이론 설명과 실무 수준의 연결된 실습을 통해 HTTP API 응용프로그램 개발에www.inflearn.comTDD 오해 소개: 프로그래머를 위한 명확한 이해TDD(Test-Driven Development)는 소프트웨어 개발에서 큰 관심을 받지만, 그만큼 오해도 많습니다. 이러한 오해는 TDD 학습을 주저하게 하거나, 도입 후 효과를 제대로 누리지 못하게 만듭니다. 이 글에서는 TDD에 대한 주요 오해를 .. 2-3. TDD 절차 해당 포스트는 이규원님의 "Spring Boot TDD" 강의를 기반으로 작성하였습니다. Spring Boot TDD - 입문부터 실전까지 정확하게| 이규원 - 인프런 강의현재 평점 5점 수강생 364명인 강의를 만나보세요. 더 빠르고 더 견고하게 Spring Boot 응용프로그램을 개발하세요. 정확한 이론 설명과 실무 수준의 연결된 실습을 통해 HTTP API 응용프로그램 개발에www.inflearn.comTDD 소개: 프로그래머를 위한 실용적 접근프로그래머로서 우리는 소프트웨어 개발에서 테스트를 통해 품질을 높이는 방법을 자주 고민합니다. TDD(Test-Driven Development)는 Kent Beck이 과거 프로그래밍 사례를 기반으로 만든 방법론으로, 코드 작성 전에 테스트를 우선하는 접근입.. 2-2. 테스트와 설계 해당 포스트는 이규원님의 "Spring Boot TDD" 강의를 기반으로 작성하였습니다. Spring Boot TDD - 입문부터 실전까지 정확하게| 이규원 - 인프런 강의현재 평점 5점 수강생 364명인 강의를 만나보세요. 더 빠르고 더 견고하게 Spring Boot 응용프로그램을 개발하세요. 정확한 이론 설명과 실무 수준의 연결된 실습을 통해 HTTP API 응용프로그램 개발에www.inflearn.com1. 테스트 시나리오○ 테스트 시나리오는 제품이 갖춰야 할 기능을 검증하는 작은 단위입니다. ○ 제품의 요구사항을 표현하는 방법은 아주 많은데, 테스트 시나리오도 그 중에 하나입니다.○ 대부분의 테스트 시나리오는 클라이언트 입장에서 작성됩니다. 그리고 다른 요구사항 작성 방법처럼 테스트 시나리오는 제.. 2-1. 인터페이스 설계와 구현 설계 해당 포스트는 이규원님의 "Spring Boot TDD" 강의를 기반으로 작성하였습니다. Spring Boot TDD - 입문부터 실전까지 정확하게| 이규원 - 인프런 강의현재 평점 5점 수강생 364명인 강의를 만나보세요. 더 빠르고 더 견고하게 Spring Boot 응용프로그램을 개발하세요. 정확한 이론 설명과 실무 수준의 연결된 실습을 통해 HTTP API 응용프로그램 개발에www.inflearn.com1. 프로그래머의 설계○ 프로그래머는 소프트웨어 개발 과정에서 지속적으로 설계를 합니다. ○ 특히 인터페이스 설계와 구현 설계는 업무의 큰 부분을 차지하며, 소프트웨어의 품질과 유지보수성에 핵심적입니다.이 글에서는 시스템의 기본 개념부터 시작해 인터페이스와 구현 설계의 특징, 리팩터링의 정의와 역할,.. 1-1. 엔지니어링과 원칙 해당 포스트는 이규원님의 "Spring Boot TDD" 강의를 기반으로 작성하였습니다. Spring Boot TDD - 입문부터 실전까지 정확하게| 이규원 - 인프런 강의현재 평점 5점 수강생 364명인 강의를 만나보세요. 더 빠르고 더 견고하게 Spring Boot 응용프로그램을 개발하세요. 정확한 이론 설명과 실무 수준의 연결된 실습을 통해 HTTP API 응용프로그램 개발에www.inflearn.com프로그래머로서 우리는 일상적으로 "엔지니어링"과 "원칙"이라는 단어를 자주 사용합니다. 이 두 개념은 우리의 작업 방식과 의사결정에 큰 영향을 미칩니다. 1. 엔지니어링의 정의: 자원을 가치로 바꾸는 과학적 과정○ 엔지니어링은 다양한 해석이 가능하지만, 브리태니커 백과사전의 정의를 기반으로 프로그래.. 01. 계층형 아키텍처의 문제는 무엇일까? 1. 계층형 아키텍처란?(1) 웹- 요청을 받아 도메인 혹은 비지니스 계층에 있는 서비스로 요청을 보낸다.(2) 도메인- 서비스에서는 필요한 로직을 수행한다.(3) 영속성- 도메인 엔티티의 현재 상태를 조회하거나 변경하기 위해 영속성 계층의 컴포넌트를 호출한다.2. 계층형 아키텍처의 장점- 계층형 아키텍처는 계층을 잘 이해하고 구성한다면 웹 계층이나 영속성 계층에 독립적으로 도메인 로직을 작성할 수 있다. - 도메인 로직에 영향을 주지 않고 웹 계층과 영속성 계층에 사용된 기술을 변경할 수 있다. - 기존 기능에 영향을 주지 않고 새로운 기능을 추가할 수 있다.=> 잘 만들어진 계층형 아키텍처는 선택의 폭을 넓히고, 변화하는 요구사항과 외부 요인에 빠르게 적응할 수 있다.하지만 이렇게 장점이 많은 계층형.. 3장. 역할, 책임, 협력 역할, 책임, 협력객체지향 패러다임의 관점에서 핵심은 역할, 책임, 협력이다.1. 협력협력이란?어떤 객체가 다른 객체에게 무언가를 요청하는 것실행 방식메시지 전송을 통해 실행메시지 전송은 객체 사이의 협력을 위한 유일한 통신 수단캡슐화객체를 자율적으로 만드는 가장 기본적인 방법은 내부 구현을 캡슐화하는 것예시 (Screening ↔ Movie 관계)예약 정보는 Screening에 저장예약을 위해 Movie가 Screening에 메시지를 전송Screening의 프로퍼티를 직접 참조하지 않음협력은 설계를 위한 문맥(context)을 결정한다.객체에 행동과 상태를 할당하는 이유는 해당 객체가 특정 협력에 참여하기를 바라기 때문협력에 필요한 적절한 행동을 가진 객체만이 참여할 수 있음2. 책임책임이란?협력에 참.. 이전 1 2 3 4 다음