11. 애플리케이션 설계 C - TOTOLII/study GitHub Wiki
코드
-
코드의 주요기능
-
식별 기능
성격에 따라 구분이 가능하다. -
분류 기능
특정한 기준에 따라 그룹화가 가능하다. -
배열 기능
의미를 부여하거나 나열이 가능하다.
-
-
코드의 종류
-
순차코드
발생 순서에 따라서 차례대로 일련번호를 붙혀주는 것. -
블록코드
공통성이 있는 것 끼리 블록으로 구분을 한다. -
10진 코드
10진법으로 분할한 것. 도서분류 코드를 예로 들수 있다. -
그룹 분류 코드
대, 중, 소로 분류한다. -
연상 코드
예측할 수 있는 코드 TV-23같이 연상되는 단어를 사용한 코드이다. -
표의 숫자 코드
길이, 넓이, 부피, 지름과 같은 물리적인 수치를 코드에 적용시키는 것. 유효 숫자 코드라고도 한다. -
합성 코드
필요한 코드가 하나의 코드로 수행하기 어려울 때 두개 이상의 코드를 조합해서 만드는 것.
-
디자인 패턴
-
생성패턴
-
추상팩토리
구체적인 클래스의 의존하지 않고 인터페이스를 통해서 연관, 의존하는 객체들의 그룹으로 생성이 된것. -
빌더
작은 내용들을 조합해서 객체를 생성 하는 것. -
팩토리 메소드
객체 생성을 하는데 있어서, 서브 클래스에서 처리하도록 분리하여 캡슐화한 패턴.
상위클래스에서는 전반적인 인터페이스만 정의하고,
실질적인 생성은 서브 클래스에서 생성을 담당한다. -
프로토타입
원본 객체를 복제하는 방법으로 객체를 생성하는 것. -
싱글톤
하나의 객체를 생성하면 생성된 객체는 어디서든 참조 할 수 있다.
하지만 여러 프로세서가 동시에 참조할 수는 없다.
-
-
구조 패턴
-
어댑터
호환성이 없는 클래스를 다른 클래스가 이용할 수 있도록 도와주는 패턴 -
브리지
기능과 구현을 별도의 클래스에서 구현하는 기법 -
컴포지트
여러객체(복합객체와 단일 객체)를 구분없이 다루고자 할때 사용하는 패턴 -
데코레이터
객체간의 결합을 해서 능동적 기능을 확장할 수 있는 패턴.
객체에 부가적 기능을 추가하기 위해서 다른 객체를 덧붙히는 방식으로 구현하고 있음. -
퍼씨드
복잡한 서브 클래스를 피해서 더 상위 클래스에 인터페이스를 구성 -
플라이웨이트
인스턴스가 필요한데, 필요할 때마다 매번 생성하는 것이 아니고 가능한 공유해서 사용하는 것.
공유해서 사용하기 때문에 메모리가 절약된 다는 이점이 있음. -
프록시
접근이 어려운 객체에 연결하려는 객체가 있을 때, 인터페이스 역활을 수행하는 패턴.
-
-
행위 패턴
-
책임 연쇄
하나의 객체가 처리하지 못하면 다음 객체로 넘어가는 패턴 -
커맨드
요청이 들어오면 객체의 형태로 캡슐화를 하고
재이용 할 수 있도록 요청에 필요한 정보를 저장하거나 로그에 남기는 것. -
인터프리터
언어의 문법적인 표현을 정의 하는 것.(SQL을 개발할 때 사용함) -
반복자
접근이 자주일어나고 동일한 인터페이스를 사용하는 것. 순차적인 접근이 가능함. -
중재자
복잡한 과정(상호작용)들을 캡슐화 하여 객체로 정의하는 패턴
객체와 객체 사이의 의존성을 줄여서 결합도를 감소 시킨다. -
메멘토
이전 상태(해당되는 시점)으로 되돌리게 할 수 있는 기능을 제공하는 패턴 -
옵서버
하나의 개체 상태가 변화 되었을 때 개체에 상속 되어있는 객체들에게 변화된 상태를 전달하는 것. -
상태
객체의 상태에 따라 동일한 동작을 다르게 처러할 때 사용하는 패턴. -
전략
동일한 계열의 알고리즘을 개별적으로 캡슐화해서 서로 상호 교활 할 수 있도록 해주는 패턴 -
템플릿 메소드
상위 클래스에서 골격을 정의 하고 하위 클래스에서 세부처리를 구체화 하는 구조의 패턴 -
방문자
각 클래스의 데이터 구조 중에서 처리기능이 존재 하는데, 기 기능을 분리해서 별도의 클래스에서 구성하는 패턴.