일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Index Full Scan
- 이중 연결 리스트
- jQuery
- 큐 연결리스트
- javascript this
- c언어 스택 배열
- 자료구조
- 생성자 new
- Index Range Scan
- access
- 확장 엘리먼트
- pattern
- Loose Index Scan
- 스택
- javascript 생성자
- 배열
- 추상적 자료 구조
- javascript prototype
- 배열 스택
- new 사용법
- javascript new
- 연결 리스트
- C#
- 생성자
- 연동
- 연결리스트
- 포인터
- Index Skip Scan
- npm Option
- 스택 배열
- Today
- Total
목록Programming/디자인패턴 (3)
Open-Closed Principle
정의퍼사드 패턴을 사용하려면 어떤 서브시스템에 속한 일련의 복잡한 클래스들을 단수화하고 통합한 클래스를 만드러야 한다. 다른 패턴과 달리 퍼사드 패턴은 상당히 단순한 편이다. 복잡한 추상화 같은게 필요 없다. 하지만 그렇다고 해서 퍼사드 패턴이 별 볼일 없는 패턴이라고 할 수는 없다. 퍼사드 패턴을 이용하면 클라이언트와 서브시스템이 서로 긴밀하게 연결되지 않아도 된다는 큰 장점이 있다. 퍼사드 패턴 - 어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스를 제공한다. 퍼사드에서 고수준 인터페이스를 정의하기 때문에 서브시스템을 더 쉽게 사용할 수 있다. 퍼사드 패턴은 단순화된 인터페이스를 통해서 서브시스템을 더 쉽게 사용할 수 있도록 하기 위한 용도로 쓰있다. 예제 소스를 보도록 하겠다. 이 예제에..
어댑터 패턴(Adapter Pattern) - 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환한다. 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸수 없는 클래스들을 연결해서 쓸 수 있다. 이 패턴을 이용하면 호환되지 않는 인터페이스를 사용하는 클라이언트를 그래도 활용할 수 있다. 인터페이스를 변환해주는 어댑터를 만들게 되면, 클라이언트와 구현된 인터페이스를 분리시킬 수 있으면, 나중에 인터페이스가 바뀌더라도 그 변경 내역은 어댑터에 캡슐화되기 때문에 클라이언트는 바뀔 필요가 없다. 어댑터 패턴에는 객체 어댑터와 클래스 어댑터가 있다. 하지만 다중 상속이 가능한 언어를 사용하는 경우에만 클래스 어댑터를 사용 할 수 있다. 객체 어댑터와 클래스 어댑터에서는 어댑티를 ..
전략 패턴.... 전략 패턴을 사용하는 가장 큰 이유는 알고리즘의 캡슐화가 아닐까 생각해보면서 정리 시작하자. 전략 패턴예제 소스 Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445public interface Strategy { public int doOperation(int num1, int num2);} public class OperationAdd implements Strategy{ @Override public int doOperation(int num1, int num2) { return num1 + num2; }}public class Operatio..