개발 - 고급/Design Pattern 3

2. Adapter : 사이에 끼워 재사용

1. Adapter 패턴 재사용성 향상 종류 상속 사용 : class에 의한 패턴 포함관계 사용 : instance에 의한 패턴 - 이게 더 유연, 많이 사용. 데코레이터 패턴과 같이 사용 가능해짐 java는 다중 상속이 안되기 때문에 포함 관계를 이용해서 해결한다. Wrapper 패턴이라고도 불린다. 2. 구현 코드 3. 장점 왜 그냥 프로그래밍하면 되지 adapter 패턴 같은 걸 생각해야하냐? 이미 존재하는 class를 이용하는 경우 (재사용하고 싶을 때) 해당 패턴 사용시 빠르게 필요 메서드 사용이 가능해짐 그리고 이미 존재하는 것이라 검증되 됨 주의 보통 우리는 기존 클래스 소스를 만져서 수정을 한다. 하지만 그렇게 하면 동작 테스트가 이미 끝난 기존 클래스에 손을 댔으니 수정한 후에 다시 테스..

1. Iterator - 처리를 반복한다.

1. Iterator 패턴 for문의 int i를 추상적으로 일반화 한 것 종류 Iterator 향상된 for문 iterator를 가지고 있는 type 배열 : hasnext()가 없다. 대신 향상된 for문으로 사용 Collection : 향상된 for문 사용 가능 직접 Iterator 패턴 구현 2. 실제 구현 코드 // github 링크 현재 코드가 문제가 있음 BookShelfIterator가 BookShelf를 땡겨서 쓰는 것이 아니고 BookShelf에게 시켜야된다. 이게 과제 : 뭔가 중간에 관리해주는 친구가 필요 3. 해당 패턴 장점 왜 Iterator와 같이 번거로운 방식을 사용? 구현과 분리하여 반복할 수 있기 때문 bookShelf 구현체가 변경이 되어도 while loop는 정상 동..

0. UML 및 기초

1. UML 시스템 개발을 위한 시각적인 설계 표기 UML은 표준화된 모델링 언어 : 시각화, 명세화, 구축, 문서화 언어이다. 2. UML 다이어 그램 유스 케이스 클래스 순차 통신 활동 상태 컴포넌트 배치 패키지 3. 객체 지향 모델링 모델링 : 개발하고자 하는 프로그램을 시각적으로 표현한 것 객체 지향 모델링 : 객체 지향 시스템을 가시화하고 명세화, 문서화 하는 것이 목적인 모델링 소프트웨어 모델링 : 실제 생활에 일어나는 일을 소프트웨어적으로 모델링한 것 시스템 설계 시, 중요점 : 신뢰성, 확장성(유지보수) 4. 객체, 클래스, 메시지 메시지 객체간의 협력하기 위한 상호작용 수단 한 객체가 다른 객체에게 작업을 요청하는 신호 객체 1가지의 역할만 가지고 변하는 것과 변하지 않는 것을 분리시켜야..