Android Builder 모드

2134 단어
1. 모드 정의
Builder 모드는 클라이언트와 여러 구성 요소(또는 부품)를 포함하는 복잡한 객체의 작성 프로세스를 분리하여 같은 작성 프로세스에서 다른 표현을 작성할 수 있도록 하는 복잡한 작성 모드입니다.
2. 장면 사용
  • 같은 방법, 서로 다른 집행 순서로 서로 다른 사건 결과가 발생할 때;
  • 여러 부품이나 부품은 모두 한 대상에 조립할 수 있으나 발생하는 운행 결과는 같지 않다.
  • 제품류가 매우 복잡하거나 제품류 중의 호출 순서가 다르면 서로 다른 효능이 발생하기 때문에 이럴 때 건설자 모델을 사용하는 것이 매우 적합하다.

  • 3. builder의 장점
  • 해이한 결합: 같은 구축 알고리즘으로 표현이 완전히 다른 제품을 구축하고 제품 구축과 제품 표현의 분리를 실현할 수 있다.
  • 제품의 내부 표시를 쉽게 바꿀 수 있다.
  • 더욱 좋은 복용성: 구축 알고리즘과 구체적인 제품의 분리를 실현한다.
  • 좋은 봉인성: 건설자 모델을 사용하면 클라이언트가 제품 내부 구성의 세부 사항을 알 필요가 없다.

  • 4. builder의 단점
  • 여분의 Builder 대상과 Director 대상이 발생하여 메모리를 소모한다.

  • 5. 안드로이드 원본의 모드 구현
    안드로이드 소스 코드에서 우리가 가장 자주 사용하는 Builder 모드는 AlertDialog입니다.Builder, Builder를 사용하여 복잡한 AlertDialog 객체를 구성합니다.간단한 예는 다음과 같습니다.
    //     AlertDialog  
        private void showDialog(Context context) {  
            AlertDialog.Builder builder = new AlertDialog.Builder(context);  
            builder.setIcon(R.drawable.icon);  
            builder.setTitle("Title");  
            builder.setMessage("Message");  
            builder.setPositiveButton("Button1",  
                    new DialogInterface.OnClickListener() {  
                        public void onClick(DialogInterface dialog, int whichButton) {  
                            setTitle("        Button1");  
                        }  
                    });  
            builder.setNeutralButton("Button2",  
                    new DialogInterface.OnClickListener() {  
                        public void onClick(DialogInterface dialog, int whichButton) {  
                            setTitle("        Button2");  
                        }  
                    });  
            builder.setNegativeButton("Button3",  
                    new DialogInterface.OnClickListener() {  
                        public void onClick(DialogInterface dialog, int whichButton) {  
                            setTitle("        Button3");  
                        }  
                    });  
            builder.create().show();  //   AlertDialog,     
        } 
    

    참고 자료
  • Builder 모드
  • 좋은 웹페이지 즐겨찾기