2010-05-02 2 views

답변

9

기능적 언어로 작성된 응용 프로그램을 구성하는 방법은 무엇입니까? 아니 다른 응용 프로그램의 다른 어떤 종류보다

:

  • 모든 모듈은 비밀을 숨 깁니다.

  • 변경할 가능성이있는 디자인 결정은 모듈로 캡슐화해야합니다.

  • 모듈은 하나의 기본 유형, 몇 가지 보조 유형 및 많은 관련 작업을 내보낼 수 있습니다.

  • 모듈 응집력과 결합력은 Yourdon과 Constantine이 1970 년의 —에서와 마찬가지로 중요합니다. 기능적 언어에서는 응집력과 결합의 "순차적 인"형태에 대해 거의 걱정할 필요가 없습니다.

  • 많은 기능 언어는 파일 당 하나의 모듈을 필요로하지만 ML 방언은 많은 유연성을 제공합니다. 그러나 압도적 인 관행은 모듈과 인터페이스를 별도의 파일에 넣는 것입니다. Objective Caml은이 규칙을 컴파일러에 기원합니다. 한마디로

, 그것은 표현이 프로그래밍 (프레드 브룩스)의 본질이라고 여전히 사실, 그리고 다른 많은 응용 프로그램으로, 당신의 모듈은 무상 표현을 노출하지 않도록 구성해야합니다.

기능적 언어에서 약간 다른 점은 일부 실행 패턴을 고차원 함수로 구현 한 모듈을 제공 할 수 있다는 것입니다. 예를 들어, Bubble Search을 기반으로 한 모듈을 작성했습니다. 내 코드 욕심 많은 알고리즘을 소요하고 자동으로 거품 검색 알고리즘으로 변환합니다. 그러나 코드와 관련이 있으며 실제 데이터 구조가없는이 모듈은 매우 드뭅니다.

+0

OOP와 달리 재사용은 구성 요소 (개체) 수준이 아닌 계산 (함수) 수준에서 발생합니다. –

관련 문제