공개 최종 클래스 HttpSecurity 확장 초상 구성보안 빌더 구현 보안 빌더, HttpSecurityBuilder { 아래는 우리가 위에서 설명 한 문제의 코딩 된 솔루션입니다. 이것은 불변성을 잃어도 모든 필수 속성과 선택적 특성의 조합으로 원하는 사용자 개체를 구축하는 데 도움이되는 추가 클래스 UserBuilder를 사용합니다. 컴퓨터 클래스에 대해 여러 오버로드 생성자 및/또는 다양한 setter를 만들고 여러 단계로 개체를 생성하려고 시도하는 대신(생성된 개체는 모든 필요한 필드가 설정될 때까지 일치하지 않을 수 있습니다!), 컴퓨터 개체를 생성하려고 합니다. 정적 중첩 된 내부 클래스 ComputerBuilder를 사용 하 여. java.lang.StringBuilder#append()[동기화되지 않은 클래스]나는 우리가 세트에서 이것을 반환하는 한 가지 질문이 있습니다() 나는 빌더 패턴에서 이것을 반환하는 것이 매우 중요하다는 것을 알고 있다. 그러나, 우리가 이것을 반환 할 때 실제 의미가 무엇인지, 그리고 실제로 어떻게 실행되는지 말해 줄 수 있습니까? 나는 객체를 만드는 동안 동일한 코드 줄에서 여러 번 다른 필드의 set() 메서드를 사용하고 build() 전에 이 개체 참조를 선택하는 방법을 혼동합니다. 이 예제에서는 Java 팀의 일원으로 은행의 소프트웨어 작업을 하는 척합니다. 무엇보다도 은행 계좌를 나타내는 방법이 필요합니다. 첫 번째 패스는 다음과 같습니다 (실제 금전적 가치에 대해 이중을 사용하는 것은 나쁜 생각입니다).

이 문제를 해결하기 위해 개체 생성의 스레드 안전성과 원자성을 보장하는 Builder 패턴이 있습니다. 오늘 우리는 자바빌더 패턴을 살펴 볼 것이다. 빌더 디자인 패턴은 공장 패턴 및 추상 공장 패턴과 같은 창작 디자인 패턴입니다. 안녕 소하이브, 이제까지 미안 말할 필요가 없습니다. 그리고 토론에 바보 같은 질문이 없습니다. 또한 빌더 패턴은 간단한 단계를 사용하여 개체를 빌드하는 데 사용됩니다. 그렇지 않으면 구축하는 매우 복잡한 논리를 취할 것입니다. 단계별 건물 프로세스를 중단하면 더 간단하고 사용하기 쉽습니다.

예를 들어 이미 튜토리얼에 적용했습니다. 예제는 클래스가 다른 것에 대한 인터페이스로 작동하는 프록시 패턴과 더 관련이 있을 수 있습니다. 구현 : Builder 패턴에서 해당 클래스에 대한 인스턴스 필드가있는 Server 클래스 내부에 Builder라는 내부 정적 클래스가 있으며 모든 호출에서 Builder 클래스의 새 인스턴스를 반환하는 팩터리 메서드도 있습니다. 이제 setter 메서드가 Builder 클래스 참조를 반환합니다. 또한 서버 측 클래스의 인스턴스를 반환하는 빌드 메서드(예: 외부 클래스)도 갖습니다. 여기에 설명된 빌더 패턴은 다른 웹 사이트 구현과 완전히 다릅니다. 여기서는 정적 내부 클래스를 보여 주지만 다른 클래스는 그렇지 않습니다.