티스토리 뷰

dev

객체 지향 설계 포인트

I'm Okay 2016. 6. 6. 15:47

단일 책임 원칙

  • 책임에 따라 객체를 분리 한다.
  • 예를 들면 아이템 목록을 관리하는 객체, 유저의 정보를 관리하는 객체 등

정보 은닉

  • 객체는 상태와 행위를 가진다.
  • 외부에서 객체의 상태에 직접 접근하지 않고, 객체의 API를 통해야 한다.
  • 예를 들어 외부에서 목록객체가 가득 찼는지를 판단하고 싶을때
    목록 객체의 아이템 갯수와 최대값을 직접 비교하는 것이 아니라
    목록 객체에 물어보면 된다.
    ex)
        objList.length >= objList.max  (X)
        objLIst.isFull()  (O)

복합 객체의 API는 구성 요소의 API보다 단순해야 한다.

  • 큰 객체를 협력 객체의 그룹으로 나누기
  • 작은 객체들을 큰 그룹으로 묶어서 감추기


댓글