
하향식 기능 분해
- 프로그래밍 패러다임은 프로그래밍을 추상화로 만들기 위해 사용하는 추상화의 종류와 추상화를 이용해 소프트웨어를 분해하는 방법 두 가지 요소로 결정
- 전통적인 기능 분해 방법은 하향식 기능 분해 방법
- 하향식 기능 분해 방법 : 시스템을 최상위의 가장 추상적인 메인 함수로 정의하고, 메인함수를 구현 가능한 수준까지 세부단계로 분해하는 방법
- 겉으로는 이상적인 방법으로 보일 수 있지만, 불귝칙하고 불완전한 문제를 만나면 큰 혼란이 발생
하향식 기능 분해의 문제점
- 시스템은 하나의 메인함수로 이루어저 있지 않다
- 기능 추가나 요구사항 변경으로 인해 메인 함수를 계속 수정
- 비즈니스 로직이 사용자 인터페이스와 강하게 결합
- 하향식 분해는 너무 이른 시기에 함수들의 실행 순서를 고정시키기 때문에 유연성과 재사용성이 저하
- 데이터 형식이 변경될 경우 너무 많은 문제 발생
모듈의 장점과 단점
- 모듈 내부 변수가 변경되더라도 모듈 내부에만 영향을 미친다
- 비즈니스 로직과 사용자 인터페이스에 대한 관심사를 분리한다
- 전역변수와 전역함수를 제거함으로 네임스페이스 오염을 방지한다
- 위의 3가지가 장점이면, 치명적인 단점은 인스턴스의 개념을 제공하지 않는다는 점이다.
클래스
- 클래스와 추상 데이터 타입은 다르다.
- 추상 테이터 타입은 타입을 추상화한 것
- 클래스는 절차를 추상화 한 것
이 단원은 과거에서 객체 지향을 어떻게 생각했는지 알아보는 단원으로 생각한다.
이 과정은 이러한 것들이 있다는 것만 알고 객체 지향 설계를 할 때는 앞에서 배운 내용대로 진행하자
'IT자료실 > 기술서적' 카테고리의 다른 글
오브젝트 - 기술서적 스터디 9단원-유연한 설계 (0) | 2023.08.24 |
---|---|
오브젝트 - 기술서적 스터디 8단원-의존성 관리하기 (0) | 2023.08.08 |
오브젝트 - 기술서적 스터디 6단원-메시지와 인터페이스 (0) | 2023.07.24 |
오브젝트 - 기술서적 스터디 5단원-설계품질 트레이드 오프 (0) | 2023.07.11 |
오브젝트 - 기술서적 스터디 4단원-설계품질 트레이드 오프 (0) | 2023.07.11 |