본문 바로가기

immutable

C# 메서드 체이닝(Method Chaining) 패턴 구현 메서드 체이닝은 호출 결과로 자기 자신 또는 동일한 타입을 반환하여 호출을 연속적으로 이어가는 패턴입니다. 가독성이 높고, 구성(config) API를 간결하게 만들며, 빌더(Builder)나 Fluent Interface에 자연스럽게 적용됩니다.1. 언제 메서드 체이닝을 쓰나요?- 옵션이 많은 객체를 구성할 때 빌더 패턴과 함께 사용합니다.- LINQ처럼 읽기 쉬운 파이프라인 스타일 API가 필요할 때 유용합니다.- 설정은 체인으로, 실행은 마지막 단일 메서드(예: Build, Execute, Send)로 분리하는 것이 좋습니다.2. 기본 구현 패턴 (Mutable Builder)가장 단순한 방식은 내부 상태를 변경하고 this를 반환하는 것입니다. 다음 예시는 URL을 조합하는 간단한 빌더입니다.us.. 더보기
C# 구조체를 읽기 전용(ReadOnly Struct)으로 설계하기 값 타입을 불변으로 설계하면 코드가 단순해지고, 방어적 복사(defensive copy)를 줄여 성능을 개선할 수 있습니다. C#의 readonly struct는 이런 목적에 딱 맞는 기능입니다. 핵심만 빠르게 정리합니다.1. 왜 읽기 전용 구조체인가- 불변 특성으로 상태 추적이 쉬워집니다.- 읽기 전용 참조(in, ref readonly)와 결합하면 복사 비용을 줄일 수 있습니다.- 멀티스레드 시나리오에서 동기화 부담이 줄어듭니다.2. readonly struct란?구조체 앞에 readonly를 붙이면 모든 인스턴스 필드가 읽기 전용이 되며, 인스턴스 멤버에서 상태 변경이 금지됩니다. 생성자 내부에서만 필드 할당이 가능합니다.3. 기본 선언 패턴using System;using System.Diagno.. 더보기