일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- WEB
- Singleton
- 통계
- Design Pattern
- Decorator pattern
- C
- proxy
- 엑셀
- 프록시
- 데이터
- 국제운전면허증
- Double Checking Locking
- 디자인 패턴
- Video
- C++
- 데이터 마이닝
- Down
- stapleton
- 엑셀 여러창 띄우기
- 데코레이터 패턴
- 오피스
- Media
- Renderer
- 프로그래밍 언어
- r
- penfield
- 싱글턴
- 이클립스
- Today
- Total
목록분류 전체보기 (27)
Kaboom
■ 이터레이터 패턴 # 내부 데이터 컬렉션을 외부로 노출하지 않는다. # 대신 객체 내 원소 접근 방법을 제공한다. ■ 컴포지트 패턴 # Tree 구조 # 부분 - 전체의 계층구조 # 구성원에 대해 개별 객체/복합 객체에 대한 동일한 처리가 가능
# 어댑터 패턴 : 클래스의 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환한다. - 1. 클라이언트에서 타겟 인터페이스를 새로 정의, 사용하여 메소드를 호출하여 어댑터에 요청을 한다. - 2. 어댑터에서는 어댑티 인터페이스를 사용하여 그 요청을 어댑티에 대한 하나 이상의 메소드 호출로 변환한다. - 3. 클라이언트에서는 호출 결과를 알지만 중간의 어댑터가 끼여 있는지는 전혀 알지 못함. ......................
Lazy Instantiation : 싱글턴 객체를 필요한 상황이 닥치기 전에는 생성하지 않고 있게 됨. 싱글턴 패턴 : 해당 클래스의 인스턴스가 하나만 만들어지고, 어디에서든지 그 패턴에 접곤할 수 있기 휘한 패턴임. 멀티쓰레드에서 접근 가능하기 때문에 동기화된 상태로 유지해야 함. getinstance() 코드 블럭 전체를 동기화 시킬 때 발생하는 문제 - 불필요한 성능 저하 해결 방법 : 속도가 별 상관 없다면 그냥 둔다. 인스턴스 생성을 클래스 로딩 타임에 하도록 코드를 수정한다. Double-Checking Locking 사용 인스턴스가 NULL 일 때만 동기화 블록을 써서 생성하는 동안에만 적용 volatile keyword in JAVA : volatile는 각기 다른 thread가 같은 값..
In computer networks, a proxy server is a server (a computer system or an application) that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server and the proxy server evaluates the request as a way to simplify ..
# 정확하게는 디자인 패턴이라고 말할 수 없음. 디자인 패턴이라기 보다 관용구에 가까움. # 팩토리를 쓰면 객체 생성 과정을 캡슐화 할 수 있다.# static factory를 쓰는 경우 객체 생성 과정을 위한 팩토리의 인스턴스를 만들지 않아도 되는 장점이 있지만, 서브클래스를 만들어 객체 생성 메소드의 동작을 변경시킬 수 없는 단점이 있다.# 모든 팩토리 패턴에서는 어플리케이션의 구상 클래스에 대한 의존성을 줄여줌으로서 느슨한 결합을 도와준다.# 팩토리 메소드 패턴에서는 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하게 만든다. # Dependency Inversion Principle : # 원칙에 대한 가이드라인 :- 어떤 변수에도 구상 클래스에..
# 디자인 원칙 : 클래스는 확장에 대해서는 열려있어야 하나 코드 변경에 대해서는 닫혀있어야 한다. (기존 코드는 변경하면 안됨) # 데코레이터 패턴은 객체에 추가적인 요건을 동적으로 첨가한다. 데코레이터는 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. # 구성 요소는 다음과 같다 : 추상 구성요소, 구상 구성요소, 추상 데코레이터, 구상 데코레이터 # 데코레이터의 수퍼클래스는 데코레이터가 장식(데코레이트)하는 객체의 수퍼클레스와 같은 것을 써야 한다. 예) Abstract Class Object, (추상 구성요소) Abstract Class Decorator extends Object (추상 데코레이터) Class RealObject extends Object, (구..
# 각 객체들 사이에 1-N 관계를 형성한다 # 한 객체의 상태가 바뀌면, 그 객체에 의존하는 다른 객체들에게 연락이 가고, 이에 따라 자동으로 내용이 갱신된다. # Observable ----> Observer(Interface) ----> Observer(Interface) ....... # Push 방식과 Pull 방식 : Pull 방식의 경우, Data가 바뀌어 알림이 발생해도 특정 조건에서만 갱신된 데이터를 Observable에서 가져온다. Pull 방식이 더 유연 # Java의 Observable 클래스는 Java의 다중 상속 불가 원칙으로 활용도가 떨어짐. SetChanged() 메서드도 Protected로 정의되어 있기 때문에, 구성을 통해 적용하기에도 힘듦. # 옵져버 패턴은 기본적으로 ..
# namespace : 코드 내 구별되는 독립적인 공간 # :: : 범위지정 연산사 # 선언과 정의를 구분해서 사용할 수도 있음 # namespace 선언은 중첩이 가능함 # using 키워드 : using XXX:YYY 라고 선언할 경우, namespace XXX:의 YYY를 호출할 경우에는 namespace를 지정하지 않고 호출하도록 허용하겠다는 의미 # using namepsace 키워드 : 특정 namepsace 전체를 namespace 지정없이 사용하도록 한다. # namespace 에 키워드 대입 : namspace XXX = AAAA::BBB::CCC; 로 지정하면 XXX를 해당 키워드로 치환하여 사용 가능 # 범위지정 연산자 "::"의 또 다른 기능 : 지역변수와 전역변수의 이름이 같아 ..