인터페이스를 통한 소프트웨어 설계
스포츠 경기에 세트 플레이라는 것이 있습니다. 미리 약속한 방식으로 공격을 진행하는 것입니다. 하지만, 상대가 어떻게 나올 지 확신 할 수가 없는데, 약속 된 방식만으로 공격이 성공 할 수 있을까요?언제나 변수가 생긴다. 계획대로 되는 법이 없다.작전에만 집착하면 변수가 발생 했을 때, 적절한 대응을 할 수가 없다.큰 줄기만을 계획하고 세밀한 부분은 필드에서 각 선수들의 역량에 맡긴다. 이제 객체들의 세트 플레이를 생각해 보겠습니다.요구사항은 언제나 변한다. 설계대로 진행 되는 법이 없다.구체적이고 절대적인 구현에 집착하면 변화가 발생 했을 때 대응 할 수가 없다.설계는 인터페이스 단계에서 멈추고, 변화에 민감한 알고리즘은 객체 안에서 수용한다. 승리라는 하나의 목표를 위해서 여러 명의 선수들이 경기에 ..
소프트웨어 공학
2014. 9. 15. 11:54