문제

Steve Yegge는 최근에 게시했습니다 흥미로운 블로그 게시물 그가 보편적 인 디자인 패턴이라고 부르는 것에 대해. 그곳에서 그는 프로토 타입을 클래스 대신 모델링 도구로 사용하는 세부 정보를 세부합니다. 나는 이것이 상속에 비해 커플 링을 덜 소개하는 방식을 좋아합니다. 그러나 그것은 상속 대신 다른 클래스의 관점에서 클래스를 구현함으로써 수업과 함께 얻을 수있는 것입니다. 다른 사람은 프로토 타입 사용에 대한 성공 사례가 있으며, 프로토 타입을 사용하는 것이 클래스에 비해 유리한 위치를 설명하는 데 도움이 될 수 있습니다. 정적 모델링과 동적 모델링에 이르렀지만 더 많은 예제가 매우 환영받을 것입니다.

도움이 되었습니까?

해결책

흥미로운 비트 중 하나는 프로토 타입 기반 언어 행위를 쉽게 만드는 것이 쉽지만 OO 언어 행위 프로토 타입 기반을 만드는 것은 어렵다는 것입니다.

당신이 언급 한 바와 같이 구성 대 상속을 제외하고, 프로토 타입으로의 OO가 어떻게 보일지는 완전히 명확하지 않습니다.

프로토 타입 언어는 복잡한 상속 동작을 쉽게 만듭니다. 당신은 구현할 수 있습니다 다중 상속, 믹스 인-동작과 같은 행동, 또는 한 개체에서 원하는 것을 선택하여 선택하여 다른 개체에 추가하십시오.

Wikipedia의 기사 언급 : "프로토 타입 기반 프로그래밍의 옹호자들은 종종 클래스 기반 언어가 분류법과 클래스 간의 관계에 초점을 맞춘 개발 모델을 장려한다고 주장합니다. 대조적으로, 프로토 타입 기반 프로그래밍은 프로그래머가 행동에 집중하도록 장려하는 것으로 보입니다. 일부 예제 중 일부는이 객체를 수업과 유사한 방식으로 사용되는 전형적인 대상으로 분류하는 것에 대해 걱정합니다. "

프로토 타입 패러다임이 모두 장단점이고 아무런 의미가 없다고 말하는 것은 아닙니다. OO가 더 제한적이라면 선택하기 때문입니다. 조심하지 않으면 모든 유연성으로 인해 문제가 발생할 수있는 곳을 알 수 있습니다.

다른 팁

프로토 타입은 상속의 한 형태이며, 객체는 다른 객체에서 직접 속성과 동작을 상속하는 것입니다.

예를 들어 보려면 객체 지향 코드를 확인하십시오. 프로토 타입 기반 언어 예를 들어 JavaScript와 같이.

관심있는 사람들을 위해 NewTonscript 듀얼 언어였습니다 : 당신은 프로토 타입을 가지고 있었고 수업을 받았습니다. 클래스, 프로토 타입 또는 둘 다에서 상속할지 여부를 선택할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top