클래스 설계는 타입 설계와 똑같이 하자


항목 19 : 클래스 설계는 타입 설계와 똑같이 하자

  • 새로 정의한 타입의 객체 생성 소멸은 어떻게 이루어져야 하는가?
  • 객체 초기화는 객체 대입과 어떻게 달라야 하는가?
  • 새로운 타입으로 만든 객체가 값에 의해 전달되는 경우에 어떤 의미를 것인가? (보통 이쪽은 복사생성자가 관여한다)
  • 새로운 타입이 가질 있는 적법한 값에 대한 제약은 무엇으로 잡을 것인가?
  • 기존의 클래스 상속 계통망(inheritance graph)에 맞출 것인가?
  • 어떤 종류의 타입 변환을 허용할 것인가?
  • 어떤 연산자와 함수를 두어야 의미가 있을까?
  • 표준 함수들 어떤 것을 허용하지 것인가?
  • 새로운 타입의 멤버에 대한 접근권한을 어느 쪽에 것인가?
  • '선언되지 않은 인터페이스'로 무엇을 것인가?
  • 새로 만드는 타입이 얼마나 일반적인가?
  • 정말로 필요한 타입인가?


참조 : https://kkojabee.tistory.com/entry/Effective-C-Item-19-Treat-class-design-as-type-design

댓글

이 블로그의 인기 게시물

Unity - Dialogue 시스템을 구현할 때 유용한 무료 에셋

Unity - 메타 파일

Unity - 라이브러리 폴더