실무 설계 3

값 타입 vs 참조 타입 – 구조체와 클래스, 뭐가 다른데?

value type vs reference type – 구조체랑 클래스, 뭐가 다른데?개발하다 보면 어느 순간 마주친다. "이거 struct로 만들까? class로 할까?"나도 그랬다.처음엔 뭐든 다 class로 만들었다.왜냐? struct는 잘 모르겠고, 그냥 new만 치면 class가 자동으로 뜨니까…근데 프로젝트가 커지고 퍼포먼스를 고민하기 시작하면, 진지하게 이 차이를 알아야 할 때가 온다.오늘은 이 차이를 눈에 쏙 들어오게 정리해보자.문제 상황: "분명 바꿨는데 값이 왜 안 바뀌지?"struct PointStruct{ public int X; public int Y;}class PointClass{ public int X; public int Y;}var ps1 = new..

C# 2025.06.05

C# 기초부터 고급까지 Chapter 3.8. Domain-Driven Design(DDD) 도입과 구조 설계

📘 Chapter 3.8: Domain-Driven Design(DDD) 도입과 구조 설계✅ 이 챕터에서 배울 것 DDD란 무엇인가? 왜 쓰는가? 도메인, 유비쿼터스 언어, 애그리거트, 엔티티, 밸류오브젝트 계층별 구성 (Domain, Application, Infra, API) 실무 프로젝트 예제 구조 레이어 간 의존 방향 실무에서 마주치는 DDD 오해와 해결 전략1️⃣ DDD란?"복잡한 비즈니스 도메인을 객체 모델로 설계하는 방법론"마틴 파울러의 말:💬 "도메인 전문가와 개발자가 공통 언어(Ubiquitous Language)를 기반으로 소프트웨어를 만든다."✅ 왜 쓰는가? 문제 상황DDD 도입 효과 요구사항 변경 잦음유연한 구조로 적응 가능 기술 중심 설계비..

C# 2025.05.12

C# 기초부터 고급까지 Chapter 2.10. 프로젝트 구조 패턴 – Layered vs Clean Architecture 소개

📘 Chapter 2.10: 프로젝트 구조 패턴 – Layered vs Clean Architecture 소개✅ 이 챕터에서 배울 것 왜 프로젝트 구조가 중요한가? Layered Architecture란? Clean Architecture란? 두 구조의 코드 예제 비교 (C# 콘솔앱 기준, 레이어 주석 포함) 언제 어떤 구조를 써야 하는가?1️⃣ 왜 프로젝트 구조가 중요한가?✅ 설계가 잘 안 되어 있으면… 클래스가 이리저리 흩어져 유지보수 지옥 기능이 섞이고 결합이 심해 테스트가 어려움 신입이 보면 "뭐가 뭔지 모르겠는데요…"✅ 설계가 잘 돼 있으면… 역할이 딱딱 나뉘고 각 계층 책임이 명확하고 테스트도, 교체도, 확장도 쉬워진다!2️⃣ Layered Architecture✅ 계층별..

C# 2025.05.04