공개 인터페이스 식별

튼튼한 생성자나 소멸자가 되게 설계하기

클래스에 대한 오류 처리 설계

클래스 문서화 및 주석 사용

협동할 수 있는 객체로 만들기

클래스는 서로 상호작용 하도록 설계하자.

재사용을 고려한 설계

클래스를 다양한 시스템에서 사용할 수 있게 하려면 자사용할 일을 염두에 두고 클래스를 설계해야 한다.

확장성을 고려한 설계