2010-08-03 1 views
4

저는 JavaScript/jQuery에 다소 익숙 합니다만, 메소드 체인의 예제를 보았을 때 즉시 익숙해졌습니다. LINQ와 같은 다른 인터페이스는 메서드 집합의 반환 형식이 작동하는 형식 (TweetSharp는 매우 유사한 작업을 수행함)과 비슷한 점을 제공합니다. 유창한 프로그래밍의 예입니까? jQuery에 대해 읽은 내용 중 상당수는 다른 라이브러리가이 메소드 체인에 대한 아이디어를 "빌려왔다"고 말합니다. 아이디어는 jQuery에서 비롯 되었습니까?유창한 프로그래밍의 예를 연결하는 jQuery 메서드입니까?

+0

그래,하지만이 방법은 jQuery보다 먼저 온 것 같아. 그러나 나는 당신이 유창한 프로그래밍으로 무엇을 의미하는지 정확히 알지 못합니다. 고속으로 프로그래밍하는 것처럼 들립니다.) –

답변

6

jQuery는 실제로 builder pattern/fluent interface을 따르지만 실제로 디자인 패턴의 선구자는 아닙니다. 다른 라이브러리는 jQuery 다음에 올 가능성이 높고 접근 방법을 빌렸다. jQuery에서 시작된 것처럼 보이게하는 jQuery의 명성뿐입니다.

2

체인 연결만으로는 유창한 인터페이스가되지 않습니다. "fluent interface"이라는 용어는 소프트웨어 이론에 대한보다 많은 현대의 작가 중 한 명인 Martin Fowler에 의해 대중화 된 것으로 보인다.

파울러 (Fowler)는 메소드 체인은 단순히 객체 참조를 반환하는 메소드를 참조하지만 유창한 인터페이스는 도메인 특정 언어와 유사하며 코드보다는 자연 언어와 더 비슷하게 전달되도록 설계되었습니다 (이상적으로).

1

JQuery는 확실히 메소드 체인을 발명하지 않았습니다. JavaScript 및 다른 많은 언어에서 이미 가능했습니다.

메소드 체이닝은 아마도 이며, 많은 사람들의 눈에는 JQuery에 의해으로 합법화되었습니다. 많은 자바 프로그래머는 객체의 함수가 다른 객체 만 반환해야한다고 주장하지만 객체 자체는 반환하지 않아야합니다. 10 년 전에 나는 자바 메일 링리스트에서 다른 방법을 제안하기 위해 modded를 얻었다. :)

관련 문제