IT 지식/소프트웨어 공학 2

프로그래밍 코드 작성 시 주요원칙

단일 책임 원칙 (Single Responsibility Principle) SRP -> 객체는 오직 하나의 책임만을 가져야한다. -> 객체에서 책임이라고 한다면 객체의 역할을 의미한다. 좋은 설계란 => 기본적으로 시스템에 새로운 요구사항이나 변경이 있을 때 가능한 한 영향 받는 부분을 줄여야 한다. 프로그램의 요구사항은 계속해서 변경되기 마련이다. 이를 위해서 항상 변경이 가능하도록 조치가 되어있어야 하며, 이런 시스템이 변화에 잘 적용되도록 설계되어 있는지 확인 하는 것을 회귀 테스트(regression)라고 한다. 개방폐쇄원칙 (Open-Closed principle) OCP - 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다. 리스코프 치한원칙 - 자식클래스는 최소한..

피터 코드의 상속 규칙

상속의 오용을 막기위해 상속의 사용을 엄격하게 제한한다. 하위에 존재하는 규칙중 하나라도 만족하지 못한다면 상속을 하지 않아야한다. 1. 자식 클래스와 부모 클래스 사이의 '역할 수행' 관계가 아니어야 한다. -> 요리사는 사람이라는 범주를 상속해서는 안된다. -> 요리사라는 것은 사람이라는 속성의 하나이다. 2. 한 클래스의 인스턴스는 다른 서브 클래스의 객체로 변환할 필요가 없어야 한다. -> 엄마라는 객체는 누군가의 딸이라는 객체가 될 수 있다. -> 이런 속성 변경이 잦을 경우에는 객체의 변환 작업이 필요해서 해서는 안된다. 3. 자식클래스가 부모 클래스의 책임을 무시하거나 재정의하지 않고 확장만 수행해야 한다. 4. 자식클래스가 단진 부모클래스의 일부 클래스의 기능을 재사용하기 위한 역할로 클래..