- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래머스
- swift
- 코딩테스트
- Design Pattern
- 프로그래머스 레벨2
- 자료구조
- coding test
- programmers
- 정렬 알고리즘
- 정렬
- programmer
- 디자인패턴
- 알고리즘
- 정렬알고리즘
- 스위프트
- rxswift
- 프로그래머스 swift
- sort
- Algorithm
- 다트
- datastructure
- swift split
- 디자인 패턴
- 프로그래머스 level1
- 스위프트디자인패턴
- 감성에세이
- dart
- 코테
- swift 코딩테스트
- swift 알고리즘
목록CS(컴퓨터 과학)/Design Patterns (23)
Bill Kim's Life...
디자인패턴에의 전반적인 개요 및 목적 그리고 종류에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Design Pattern? 디자인 패턴이란 용어와 방법론은 사실 건축학 영역에서 고안이 되어 그 시초를 바탕으로 하여 여러 다양한 분야에서도 많이 도입되고 있습니다. 건축학에서의 디자인 패턴은 건축가 크리스토퍼 알렉산더가 제안한 건축의 기법을 틀로 고안한 아이디어였습니다. 이 디자인 패턴을 이용하는 방식은 건물 또는 도시의 설계를, 이전에 벌어..
디자인패턴에의 Memento(메멘토)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Memento(메멘토) Memento(메멘토) 패턴은 객체의 상태를 저장하고 복원할 수 있는 행동 디자인 패턴입니다. 기본 오리지날 객체는 본래의 기능에만 충실하고 상태 정보에 대한 관리를 메멘토 객체에게 전담하여 상태를 저장하고 복원할 수 있게 한다. 구조 Memento(메멘토) 패턴을 UML로 도식화하면 아래와 같습니다. Originator : 상태값을 ..
디자인패턴에의 Chain of Responsibility(책임 연쇄)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Chain of Responsibility(책임 연쇄) Chain of Responsibility(책임 연쇄) 패턴은 연속적인 핸들러를 통해 요청을 전달하도록 하는 행동 디자인 패턴입니다. 요청을 받으면 핸들러는 요청을 처리하거나 다음 핸들러로 요청을 전달합니다. 때로는 CoR 혹은 Chain of Command라고도 불리기도..
디자인패턴에의 Iterator(반복자)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Iterator(반복자) Iterator(반복자) 패턴은 데이터의 타입(리스트, 스택, 트리 등)을 드러내지 않고 컬렉션 요소를 순회할 수 있는 행동 디자인 패턴입니다. Iterator(반복자) 패턴의 주요 아이디어는 컬렉션의 순회 동작을 별도의 반복자 객체로 분리하는 것입니다. 반복자 객체는 알고리즘을 구현할뿐만 아니라 현재 위치나 남은 요소 등 모든 순..
디자인패턴에의 Visitor(방문자)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Visitor(방문자) Visitor(방문자) 패턴은 객체의 구조와 기능을 분리시키는 패턴으로서 구조는 변하지 않으면서 기능을 쉽게 추가하거나 확장되어야 할 경우 사용할 수 있는 행위 관련 패턴입니다. Visitor(방문자) 패턴은 컴포지트 패턴과 연동되어 사용되는 경우가 많습니다. Visitor(방문자) 패턴의 예로서 파일 탐색기를 구현해볼수 있는데 파일 ..
디자인패턴에의 Mediator(중재자)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Mediator(중재자) Mediator(미디에이터) 패턴은 복잡한 의존 관계를 줄이고자 할 때 유용한 행동 디자인 패턴입니다. 모든 클래스간의 복잡한 로직(상호작용)을 캡슐화하여 하나의 클래스에 위임하여 처리하는 패턴으로서 비슷한 패턴으로는 Facade 패턴과 Observer 패턴 등이 있습니다. 결론적으로 커뮤니케이션을 하고자 하는 객체가 있을 때 서로..
디자인패턴에의 Strategy(전략)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Strategy(전략) Strategy(전략) 패턴은 클래스의 행위를 캡슐화 하여 동적으로 행위를 자유롭게 바꿀 수 있도록 돕는 패턴이다. Strategy 패턴은 특정한 계열의 알고리즘(행위) 및 동작을 정의하고 해당 알고리즘을 캡슐화하며 이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 만들어 줍니다. 즉 Strategy 패턴은 유연하고 재사용 가능한..
디자인패턴에의 Proxy(프록시)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 디자인패턴의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들 Proxy(프록시) Proxy(프록시) 패턴은 실제 기능을 수행하는 객체(Real Object)(대신 가상의 객체(Proxy Object)를 사용해 로직의 흐름을 제어하는 디자인 패턴입니다. 즉 Proxy 객체를 이용하여 원래 객체의 변경없이 기능을 특정 방식을 제어할 수 있게 도와줍니다. 구조 Proxy(프록시) 패턴을 UML로 도식화하면 아래와 같습니다. S..