티스토리 뷰

객체지향 분석 설계(OOAD, Obejct-Oriented Analysis & Design)는 항상 여러분이 위대한 소프트웨어를 작성하는데 도움을 준다.

위대한 소프트웨어란 ?

  1. 고객이 원하는 기능을 수행해야 한다.
  2. 잘 설계되어 있고 잘 코딩되어 있고 유지보수와 재사용, 그리고 확장이 쉽다.

쉬운 3단계로 위대한 소프트웨어 만들기

  1. 여러분의 소프트웨어가 고객이 원하는 기능을 하도록 하라.
  2. 객체 지향의 기본 원리를 적용해서 소프트웨어를 유연하게 하라.
  3. 유지보수와 재사용이 쉬운 디자인을 위해 노력하라.

객체 지향의 기본 원리

  • 추상화(클래스화 + 상속 + 인터페이스)
  • 캡슐화
  • 다형성

잘못된 클래스를 찾는 방법

  1. 클래스는 자신의 이름이 나타내는 일만 해야 한다.
  2. 클래스는 하나의 개념만 나타내야 한다.
  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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
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 29 30
글 보관함