비디오: What is Mastodon? 2024
Android 장치에서 작동하는 Twitter 응용 프로그램을 만들려면 응용 프로그램이 Twitter 서버와 통신해야합니다. ConfigurationBuilder를 사용할 수 있습니다. 아래 가짜 코드에서 set 메소드 호출의 체인이 차례로 빌더 패턴 이라고 부릅니다.
트위터 트위터; // … 일부 코드는 여기에 있습니다. ConfigurationBuilder builder = new ConfigurationBuilder (); 빌더. setOAuthConsumerKey ("01qedaqsdtdemrVJIkU1dg"). setOAuthConsumerSecret ("TudeMgXgh37Ivq173SNWnRIhI"). setOAuthAccessToken ("1385541-ueSEFeFgJ8vUpfy6LBv6"). setOAuthAccessTokenSecret ("G2FXeXYLSHI7XlVdMsS2e"); TwitterFactory factory = 새로운 TwitterFactory (빌더. 빌드 ()); 트위터 = 공장. getInstance ();
기본적인 아이디어는 다음과 같습니다. 구성 빌더에는 많은 특성이 있으며, 이러한 특성을 설정하는 여러 가지 다른 방법을 상상할 수 있습니다. 예를 들어, 다음과 같이 막대한 생성자를 사용할 수 있습니다.
// 올바르지 않은 Twitter4J 코드: ConfigurationBuilder 빌더 = 새 ConfigurationBuilder ("01qedaqsdtdemrVJIkU1dg", "TudeMgXgh37Ivq173SNWnRIhI", "1385541-ueSEFeFgJ8vUpfy6LBv6", "G2FXeXYLSHI7XlVdMsS2e");
이 방법은 어떤 문자열이 어떤 위치에 속해 있는지 기억해야하기 때문에 실제로는 성 가시다. 사실, 그것은 더 악화됩니다. 구성 빌더에는 46 가지의 다른 특성이 있으며 4 가지 이상의 특성을 설정할 수 있습니다. 그러나 46 개의 매개 변수를 가진 생성자는 정말 끔찍합니다.
또 다른 가능성은 빈 슬레이트 구성 빌더를 작성한 다음 각각의 특성을 별도의 메소드 호출로 설정하는 것입니다.
// 이것은 틀린 Twitter4J 코드입니다: ConfigurationBuilder builder = new ConfigurationBuilder (); 빌더. setOAuthConsumerKey ("01qedaqsdtdemrVJIkU1dg"); 빌더. setOAuthConsumerSecret ("TudeMgXgh37Ivq173SNWnRIhI"); 빌더. setOAuthAccessToken ("1385541-ueSEFeFgJ8vUpfy6LBv6"); 빌더. setOAuthAccessTokenSecret ("G2FXeXYLSHI7XlVdMsS2e");
이것은 거대한 생성자를 갖는 것보다 덜 어색하지만 더 좋은 방법이 있습니다. Twitter4J API에서 ConfigurationBuilder 클래스에는 46 가지 설정 메소드가 있습니다. 각 메서드는 기존 ConfigurationBuilder 인스턴스에 적용됩니다. 그리고 각 메소드는 결과적으로 새 ConfigurationBuilder 인스턴스를 반환합니다. 따라서
ConfigurationBuilder 빌더 = 새 ConfigurationBuilder ();
는 빈 슬레이트 구성 빌더를 작성합니다. 다음 코드
빌더.setOAuthConsumerKey ("01qedaqsdtdemrVJIkU1dg")
는 빈 슬레이트 인스턴스에 적용됩니다. 그러나이 코드의 가치는 특정 OAuth 고객 키가있는 인스턴스입니다. 이 향상된 인스턴스에는
를 적용합니다. setOAuthConsumerSecret ("TudeMgXgh37Ivq173SNWnRIhI")
결합 된 코드의 값은 특정 OAuth 고객 키와 OAuth 고객 비밀번호가있는 더 나은 인스턴스입니다. 등등. set 메소드의 각 어플리케이션은 기존의 인스턴스를 취해서,보다 좋은 속성을 가지는 인스턴스를 생성합니다. 객체에 속성을 추가하는 우아한 방법은 빌더 패턴입니다. 이것이 코드의 배경이되는 아이디어입니다.