목록CS/Design Pattern (3)
예지의 테크 로그포스 (Yeji's Tech Log Force)
Iterator 데이터들을 가져오는 방법은 Aggregator(혹은 Container. 동일한 형태의 데이터를 여러 개 지닌 것)의 종류에 따라 모두 다르기 때문에, 이를 통일된 방법으로 가져오도록 돕는 패턴. 다양한 형태의 Aggregator의 데이터에 접근할 때에 표준화 된 공통API. 따라서 한편으로는 Aggregator의 자료구조를 노출하지 않아도(혹은 몰라도) 내부 데이터에 접근할 수 있는 방법. Strategy 기능의 특정 부분을 실행중에 다른것으로 효과적으로 변경하는 기능 제공 필요할 경우 전략을 바꿀 수 있는 패턴 단계 1, 2, 3, ..., N 진행하다가 단계3을 변경하는 등 Template 어떤 기능에 대해실행 되어야 할 각 단계에 대한 순서만 정의 세부 구현(코드)은 상황에 맞게 작..
https://www.youtube.com/watch?v=T3sXKtlr0Ow&list=PLe6NQuuFBu7FhPfxkjDd2cWnTy2y_w_jZ&index=2 Container / Aggregator: 동일한 형태의 데이터를 여러 개 지닌 것 그 예시로는 Array, Linked List, Tree, Graph, Table(DBMS) 등이 있다. 1. Iterator의 개념 이 데이터들을 가져오는 방법은 Aggregator의 종류에 따라 모두 다르기 때문에 이를 통일된 방법으로 가져오도록 돕는 것이 Iterator pattern이다. 다양한 형태의 Aggregator의 데이터에 접근할 때에 표준화 된 공통API. 한편으로는 Aggregator의 자료구조를 노출하지 않아도(혹은 몰라도) 내부 데이터에..
최근 인터랙티브 무비 개발을 하면서 클래스 간의 관계를 맺고 정리하는 부분에서 부족함을 느꼈다. 이 부분의 발전을 위해서 디자인 패턴을 공부해보기로 했다. https://www.youtube.com/watch?v=An7kqZ5D7j8&list=PLe6NQuuFBu7FhPfxkjDd2cWnTy2y_w_jZ 디자인 패턴: 패턴처럼 자주 나타나는 클래스 사이에 관계를 맺는 방법 하나의 클래스가 많은 기능을 갖는 것은 바람직하지 않다. 한 클래스의 역할은 하나 내지는 최소한인 것이 좋다. 이렇게 하면 문제 발생 시 코드 수정/유지보수가 편하고 새로운 기능 추가하기에도 편하기 때문이다. GoF개발자분들이 만든 디자인 패턴이 가장 대표적이다. GoF는 객체지향 문제점을 분석해 카탈로그화 하여 아래와 같이 패턴으로 ..