분류 전체보기33 데코레이터 패턴(Decorator pattern) 데코레이터 패턴이란? 객체에 추가적인 책임을 동적으로 덧붙이는 패턴이다. 상속을 사용하지 않아 유연하다고 많이 표현한다. 조금씩 기능을 추가하여 새로운 클래스를 생성한다고 생각해보자 상속을 하여 클래스를 조금씩 만들면 너무 많은 상속관계가 형성된다. 이렇게 되면 관리가 너무 어려워진다. 변경 사항이 하나라도 생기면 많은 수정사항이 발생하게 된다. 추가 기능을 Decorator 클래스로 만들어 런타임에서 다양한 조합을 클라이언트가 원하는 데로 생성합니다. 예시를 보자 Component 추상 클래스 혹은 인터페이스로 구현합니다. 객체의 다형성을 활용해 Component클래스로 객체를 정의하고 사용한다. ConcreteComponent 기본적인 기능을 가지는 객체이다. 이 객체를 Decorate 합니다. De.. 2021. 10. 2. 옵저버 패턴(Observer Pattern) 옵저버 패턴이란? 객체 간 1:N 의존관계를 정의하며 한 개의 객체 상태가 변경될 때 그 객체와 의존 관계에 있는 모든 객체들이 자동으로 알림을 받고 상태를 갱신합니다. 객체의 상태변화를 지켜보는 옵저버를 통하여 변경 사항을 전달하고 옵저버를 통해 연결된 객체들이 변화를 알고 갱신합니다. 흔히 이벤트 기반 시스템을 구현하는 데 사용되는 패턴입니다. 옵저버 패턴의 예시를 보자 뉴스레터와 구독자들이 있다고 생각하자 여려 명의 사람이 뉴스레터의 구독자가 되었다고 하자 뉴스레터의 새로운 기사가 생겼으면 구독자들에게 새로운 기사가 있다고 구독자들에게 변경사항을 알린다. 구독을 하지 않은 비구독자는 변경사항을 모른다. 느슨한 결합 옵저버 패턴의 특징은 느슨한 결합입니다. 그림을 보자 뉴스레터처럼 관찰대상이 되는 객.. 2021. 9. 23. 스트래티지 패턴(Strategy Pattern) 스트래티지 패턴이란? 같은 종류의 작업을 하는 알고리즘을 정의하고 각 알고리즘을 캡슐화, 그리고 알고리즘들을 서로 바꿔 사용할 수 있도록 한다. 알고리즘을 사용하는 클라이언트로부터 독립적을 알고리즘을 바꿔서 적용시킬 수 있도록 한다. 말이 너무 어렵다. 널리 알려져 있는 유명한 예시를 보자 오리라는 클래스를 만들고 이것을 상속받는 여러 오리들을 만들어 보자 class Duck { void quack() { System.out.println("quack"); } void swin() { System.out.println("swimmin"); } void fly() { System.out.println("flying"); } void display() { System.out.println("Duck"); }.. 2021. 9. 17. 데이터베이스의 구조 데이터베이스 개론 - 교보문고 [요약]①데이터베이스 기초 이론 : 1장에서 데이터베이스를, 2장에서 DBMS를 소개합니다. 3장에서는 이들을 조합한 데이터베이스 시스템을 소개합니다.②데이터 모델과 연산 : 4장에서 데이터 모 www.kyobobook.co.kr 스키마 스키마는 데이터베이스에 저장되는 구조와 제약조건을 정의한 것이다. 고객정보를 저장한다고 할 때 고객번호를 정수로 부여하고, 이름을 10자의 문자열, 나이는 정수 등 위와 같은 내용이 스키마다. 고객 번호 INT 이름 CHAR(10) 나이 INT 3단계 데이터 베이스의 구조 하나의 데이터베이스를 세 단계로 나누어 이해한다. 외부 단계-사용자 관점에서 바라본다. 외부 단계에서는 개별 사용자 관점에서 데이터베이스를 이해하고 표현한다. 각 사용자가.. 2021. 9. 14. 이전 1 2 3 4 5 6 7 8 9 다음