티스토리 뷰
객체지향 분석 설계(OOAD, Obejct-Oriented Analysis & Design)는 항상 여러분이 위대한 소프트웨어를 작성하는데 도움을 준다.
위대한 소프트웨어란 ?
- 고객이 원하는 기능을 수행해야 한다.
- 잘 설계되어 있고 잘 코딩되어 있고 유지보수와 재사용, 그리고 확장이 쉽다.
쉬운 3단계로 위대한 소프트웨어 만들기
- 여러분의 소프트웨어가 고객이 원하는 기능을 하도록 하라.
- 객체 지향의 기본 원리를 적용해서 소프트웨어를 유연하게 하라.
- 유지보수와 재사용이 쉬운 디자인을 위해 노력하라.
객체 지향의 기본 원리
- 추상화(클래스화 + 상속 + 인터페이스)
- 캡슐화
- 다형성
잘못된 클래스를 찾는 방법
- 클래스는 자신의 이름이 나타내는 일만 해야 한다.
- 클래스는 하나의 개념만 나타내야 한다.
- 사용되지 않는 속성은 잘못 설계된 클래스이다.
위임
위임이란? 한 객체가 오퍼레이션(기능)을 다른 객체에게 넘겨주어 대신해서 수행하도록 하는 행위
핵심 정리
- 깨지기 쉬운 프로그램은 조금만 잘못 조작해도 문제가 발생한다.
- 캡슐화와 위임 같은 객체지향 원리를 사용하여 유연한 프로그램을 만들 수 있다.
- 캡슐화는 프로그램을 여러 개의 논리적 부분들로 나눈다.
- 위임을 특정한 일을 해결하는 책임을 다른 객체에게 주는 것이다.
- 프로젝트는 항상 고객이 원하는 것을 알아내는 것부터 시작하라.
- 프로그램의 기본 기능을 구현한 후에 설계를 유연하게 가다듬는데 노력하자.
- 기능과 유연한 설계가 완성이 되면, 디자인 패턴을 사용해서 프로그램의 디자인을 개선하고 재사용이 용이하게 만들자.
- 프로그램 중 자주 변경을 요하는 부분을 찾아서 변경되지 않는 부분과 분리해 놓자. (캡슐화)
- 중복 코드를 볼 때마다 캡슐화 할 곳이 있는 지를 찾아보자.
- 잘 동작하지만 설계가 엉망인 프로그램의 경우에 고객은 만족시키지만 문제를 고치느라 수고, 고통, 밤샘 등을 겪을 가능성이 크다.
- OOA&D(객체 지향 분석 설계)는 고객과 프로그래머를 모두 만족시키는 좋은 설계를 갖춘 프로그램을 만드는 방법을 제공한다.
'객체지향 설계 > Head First OOAD' 카테고리의 다른 글
6. 정말 큰 문제 해결하기 (0) | 2018.09.03 |
---|---|
5. 좋은 디자인 = 유연한 소프트웨어 (0) | 2018.09.02 |
4. 분석 (0) | 2018.09.02 |
3. 요구 사항 변경 (0) | 2018.09.02 |
2. 요구 사항 수집 (0) | 2018.09.02 |
댓글