"플루언트 인터페이스"의 두 판 사이의 차이

(새 문서: ==개요== ;fluent interface ;플루언트 인터페이스 * 메소드 체이닝을 지원하는 디자인 패턴 * 가독성 높은 객체지향 API의 구현 ==예시: JavaScri...)
 
1번째 줄: 1번째 줄:
==개요==
;fluent interface
;fluent interface
;플루언트 인터페이스
;플루언트 인터페이스
;method chaining, named parameter idiom
;메소드 체이닝, 기명 파라미터 관용구
==플루언트 인터페이스==
* [[메소드 체이닝]]을 지원하는 디자인 패턴
* [[메소드 체이닝]]을 지원하는 디자인 패턴
* 가독성 높은 객체지향 API의 구현
* 가독성 높은 객체지향 API의 구현


==예시: JavaScript==
==메소드 체이닝==
<source lang='javascript'>
* OOP에서 여러 메소드를 이어서 호출하는 문법
client.getItem('user-table')
* 메소드가 객체(주로 자신)를 반환함으로 가능하게 됨
    .setHashKey('userId', 'userA')
 
    .setRangeKey('column', '@')
==예시: Java==
    .execute()
<source lang='Java'>
    .then(function(data) {
class Person {
        // data.result: the resulting object
private String name;
    });
private int age;
 
public Person setName(String name) {
this.name = name;
return this;
}
 
public Person setAge(int age) {
this.age = age;
return this;
}
 
public void introduce() {
System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
}
 
// Usage:
public static void main(String[] args) {
Person person = new Person();
person.setName("Peter").setAge(21).introduce();
// Hello, my name is Peter and I am 21 years old.
}
}
</source>
</source>


==같이 보기==
==같이 보기==
* [[메소드 체이닝]]
* [[파이프라인]]
* [[파이프라인]]


==참고 자료==
==참고 자료==
* https://en.wikipedia.org/wiki/Fluent_interface
* https://en.wikipedia.org/wiki/Fluent_interface
* https://en.wikipedia.org/wiki/Method_chaining


[[분류: 디자인 패턴]]
[[분류: 디자인 패턴]]

2016년 8월 13일 (토) 22:40 판

fluent interface
플루언트 인터페이스
method chaining, named parameter idiom
메소드 체이닝, 기명 파라미터 관용구

1 플루언트 인터페이스

  • 메소드 체이닝을 지원하는 디자인 패턴
  • 가독성 높은 객체지향 API의 구현

2 메소드 체이닝

  • OOP에서 여러 메소드를 이어서 호출하는 문법
  • 메소드가 객체(주로 자신)를 반환함으로 가능하게 됨

3 예시: Java

class Person {
	private String name;
	private int age;

	public Person setName(String name) {
		this.name = name;
		return this;
	}

	public Person setAge(int age) {
		this.age = age;
		return this;
	}

	public void introduce() {
		System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
	}

	// Usage:
	public static void main(String[] args) {
		Person person = new Person();
		person.setName("Peter").setAge(21).introduce();
		// Hello, my name is Peter and I am 21 years old.
	}
}

4 같이 보기

5 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}