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

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


==예시: Java==
==예시: Java==
42번째 줄: 34번째 줄:


==같이 보기==
==같이 보기==
{{z컬럼3|
* [[this]]
* [[this]]
* [[커링 함수]]
* [[커링 함수]]
48번째 줄: 41번째 줄:
* [[메소드 체이닝]]
* [[메소드 체이닝]]
* [[커맨드 쿼리 분리]](CQS)
* [[커맨드 쿼리 분리]](CQS)
}}


==참고==
==참고==

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