Builder PatternBuilder 패턴은 객체 생성 패턴 중 하나로, 복잡한 객체를 단계적으로 구성할 수 있도록 하는 패턴입니다.Object의 생성과정이 복잡할 때 이를 간단하게 만들어줍니다.생성과정이 복잡할 수 있는 여러 경우는 매우 다양합니다.예를 들어 하나의 Object를 생성시, 여러개의 argument가 필요할 때 Builder Pattern이 쉽게 만들어 줄 수 있습니다.핵심 개념Builder 인터페이스: 객체를 구성하는 각 단계를 정의합니다.Concrete Builder 클래스: Builder 인터페이스를 구현하여, 각 단계를 구체적으로 정의합니다.Director: Builder 인터페이스를 사용하여 객체 생성의 순서를 정의합니다. 생성 과정의 제어를 담당합니다.Product: 최종적..
What is UML? UML(Unified Modeling Language, 통합 모델링 언어)는 시스템의 구조와 동작을 시각화하고, 사양(specification)을 문서화하는 데 사용되는 표준화된 모델링 언어입니다. 시스템을 시각화 하거나 시스템의 사양, 설계를 문서화 하기 위한 표현 방법입니다. 통합 모델링 언어는 객체 지향 프로그래밍 소프트웨어 집얍 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화할 때 사용합니다. 일반적으로 UML의 범위는 매우 넓지만, 여기서는 클래스 다이어그램 및 시퀀스 다이어그램에 대해서만 설명해 보겠습니다. Code Pattern들을 표현할 때도 유용합니다. Class Diagram: 클래스와 계층 관계 클래스 다이어그램은 시스템의 정적 구조를 나타내는 UML 구조..
Solid Principles (솔리드 원칙) SOLID 원칙은 객체 지향 프로그래밍과 소프트웨어 엔지니어링에서 좋은 코드 설계를 위한 다섯 가지 기본적인 원칙을 말합니다. 이 원칙들은 코드의 유지보수성을 향상시키고, 확장성을 용이하게 하며, 복잡성을 관리하는 데 도움을 줍니다. 5개의 원칙이 있습니다. S - Single Responsibility Principle (단일 책임 원칙) 각 클래스는 하나의 책임만을 가져야 합니다. 즉, 시스템에서 변경이 필요한 한 가지 이유만을 가지고 있어야 합니다. 이 원칙은 코드의 재사용성을 높이고, 변경에 대한 유연성을 증가시킵니다. O - Open/Closed Principle (개방/폐쇄 원칙) 소프트웨어의 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열..