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

 
(사용자 2명의 중간 판 13개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
;fluent interface
;fluent interface
;플루언트 인터페이스
;플루언트 인터페이스
 
* 메소드 체이닝을 지원하는 디자인 패턴
;method chaining, named parameter idiom
* 가독성 높은 객체지향 API 구현 가능
;메소드 체이닝, 기명 파라미터 관용구
 
==플루언트 인터페이스==
* [[메소드 체이닝]]을 지원하는 디자인 패턴
* 가독성 높은 객체지향 API의 구현
 
==메소드 체이닝==
* OOP에서 여러 메소드를 이어서 호출하는 문법
* 메소드가 객체(주로 자신)를 반환함으로 가능하게 됨


==예시: Java==
==예시: Java==
<source lang='Java'>
<syntaxhighlight lang='Java'>
class Person {
class Person {
private String name;
private String name;
33번째 줄: 25번째 줄:
}
}


// Usage:
public static void main(String[] args) {
public static void main(String[] args) {
Person person = new Person();
Person person = new Person();
40번째 줄: 31번째 줄:
}
}
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
{{z컬럼3|
* [[this]]
* [[커링 함수]]
* [[쿼리 빌더]]
* [[파이프라인]]
* [[파이프라인]]
* [[메소드 체이닝]]
* [[커맨드 쿼리 분리]](CQS)
}}


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


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

2022년 7월 6일 (수) 13:47 기준 최신판

1 개요[ | ]

fluent interface
플루언트 인터페이스
  • 메소드 체이닝을 지원하는 디자인 패턴
  • 가독성 높은 객체지향 API 구현 가능

2 예시: 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.");
	}

	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.
	}
}

3 같이 보기[ | ]

4 참고[ | ]

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