반응형 개발739 C++ - 템플릿으로 클래스 상속하기 (Mixin Inheritance) C, C++ 전체 링크 참고 - 데코레이터 패턴 클래스 CBA가 클래스 A, B, C의 모든 메서드를 사용하려면 상속을 받으면 된다. class CBA : public A, public B, public C { }; 예제 코드는 다음과 같다. #include using namespace std; class A { public: void methodA() { cout 2024. 3. 6. C++ - CRTP로 인터페이스 만들기 (Interface with Curiously Recurring Template Pattern) C, C++ 전체 링크 참고 - 형변환 연산자 - 가상 함수 테이블 C++의 인터페이스는 순수 가상 함수를 이용해서 만들 수 있다. class Base { public: virtual void interface() = 0; // 순수 가상 함수 void commonOperation() { cout 2024. 3. 6. 깃허브 머메이드 - 활동 다이어그램 그리기 (Draw Activity Diagram using GitHub Mermaid) 깃허브 데스크탑으로 프로젝트 관리하기 강의 오픈!! (인프런 바로가기) Git / GitHub 전체 링크 참고- https://mermaid.js.org/syntax/flowchart.html 깃허브 머메이드를 이용해 활동(액티비티) 다이어그램을 그려보자. 머메이드에서 액티비티 다이어그램은 지원하지 않고 Flow Chart를 지원한다.```mermaid---title: Activity Diagram---flowchart TD A --> B ``` 좌우로 그리고 싶다면 "LR" 로 표기한다.```mermaidflowchart LR A --> B ``` 총 4가지 (TB = TD) 방식을 지원한다.TB - Top to bottomTD - Top-down/ same as top to b.. 2024. 3. 4. UML - 상태 다이어그램 (Statechart Diagram) Architecture & Design Pattern 전체 링크 참고 - 상태 다이어그램 그리기 상태 다이어그램 (Statechart Diagram) - 객체나 구성 요소의 다양한 상태, 이벤트에 응답하여 상태 전이를 어떻게 수행하는지를 모델링한다. - 동적인 동작을 가진 복잡한 시스템의 행동을 모델링하는 데 사용할 수 있다. - 시스템이 주고 받는 이벤트를 순서대로 표현할 수 있다. 구성 요소 상태 다이어그램(Finite State Machine, Statechart)에는 다음과 같은 구성 요소가 포함된다. - State : 시스템 또는 객체가 가질 수 있는 다양한 상태를 표시 - Event : 시스템 또는 객체가 상태 변화를 일으키는 사건 - Transition : 상태 간의 변화 아래의 다이어그램에.. 2024. 3. 3. 깃허브 머메이드 - 상태 다이어그램 그리기 (Draw Statechart Diagram using GitHub Mermaid) 깃허브 데스크탑으로 프로젝트 관리하기 강의 오픈!! (인프런 바로가기) Git / GitHub 전체 링크 참고- https://mermaid.js.org/syntax/stateDiagram.html- 상태 다이어그램 깃허브 머메이드를 이용해 상태 다이어그램을 그려보자. "[*]"로 Initial State와 Final State를 표시할 수 있고, "-->" 로 transition을 표현할 수 있다.transition 옆에 ":" 로 텍스트를 추가할 수 있다.```mermaid---title: Statechart Diagram--- stateDiagram-v2 [*] --> Source Source --> Target : event [guard] / action Target --> [*.. 2024. 3. 3. UML 다이어그램 (Unified Modeling Language Diagram) Architecture & Design Pattern 전체 링크 UML (Unified Modeling Language)- SW 개발에서 시스템을 시각적으로 모델링하고 문서화하기 위해 사용되는 표준화된 언어- 개발자, 설계자 간의 의사소통을 돕고, 시스템의 다양한 측면을 명확히 표현하여 설계 오류를 줄인다.- SRS, SDS, 데이터 / 비즈니스 / 오브젝트 / 컴포넌트 모델링에서 사용된다. MOF (Meta Object Facility)- 모델 기반 소프트웨어 공학 분야에서 사용되는 표준 메타모델링 언어- M0 Layer : 실제 구축하고자 하는 SW 시스템의 인스턴스를 포함 (Application)- M1 Layer : M0에 대한 모델을 포함, 클래스 다이어그램 등이 속하게 된다. (UML Mod.. 2024. 3. 2. UML - 시퀀스 다이어그램 (Sequence Diagram) Architecture & Design Pattern 전체 링크 참고 - 시퀀스 다이어그램 그리기 - https://www.ibm.com/docs/en/dma?topic=diagrams-interaction-operators-in-sequence - 싱글턴 패턴 시퀀스 다이어그램 (Sequence Diagram) - 시간에 따른 객체 또는 구성 요소 간의 상호작용을 나타낸다. - 메시지 교환 순서를 보여주어 시스템의 제어 흐름을 모델링한다. 구성 요소 시퀀스 다이어그램에는 다음과 같은 구성 요소가 포함된다. - Object : 시스템의 객체 또는 시스템이 하는 역할 - Message : 객체 간의 상호작용을 나타내는 화살표 - Lifeline : 시간의 흐름에 따라 객체의 존재를 보여주는 수직선 - Pa.. 2024. 3. 2. 깃허브 머메이드 - 시퀀스 다이어그램 그리기 (Draw Sequence Diagram using GitHub Mermaid) 깃허브 데스크탑으로 프로젝트 관리하기 강의 오픈!! (인프런 바로가기) Git / GitHub 전체 링크 참고- https://mermaid.js.org/syntax/sequenceDiagram.html- 시퀀스 다이어그램 깃허브 머메이드를 이용해 시퀀스 다이어그램을 그려보자. actor나 participant로 오브젝트(or Role)를 생성할 수 있고 as를 이용해 nickname을 만들 수 있다.```mermaid---title: Sequence Diagram example--- sequenceDiagram actor A participant B actor C as Cookie participant D as Dragon A ->> B : step 1 .. 2024. 3. 2. C++ - 메멘토 패턴 (Memento Pattern) C, C++ 전체 링크 Architecture & Design Pattern 전체 링크 메멘토 패턴 (Memento Pattern) - 행동 패턴 - 객체의 내부 상태를 저장하고 나중에 복원할 수 있는 패턴 - 상태를 변경하면서 객체를 수정할 때 사용한다. 구현 - Originator : 상태를 가지고 있는 객체, 객체의 상태를 저장하고 복원을 할 수 있다. - Memento : 상태를 저장하는 객체, Originator 객체의 상태를 포착한다. - Caretaker : Memento를 관리하는 객체, Memento의 생성, 저장, 복원을 담당한다. 장점 - 객체 상태를 저장하고 복원하기 때문에 이전 상태로 쉽게 되돌릴 수 있다. (실행 취소, 다시 실행 기능) - Memento는 Originator의 .. 2024. 3. 1. 이전 1 ··· 5 6 7 8 9 10 11 ··· 83 다음 반응형