다트 모범 사례: 별도의 모델, UI 보기 및 컨트롤러 논리

3597 단어
MVC 아키텍처는 애플리케이션을 세 부분, 즉 모델 부분, 뷰 및 컨트롤러로 분리하는 디자인 패턴입니다.

일상적인 코드 검토에서 개발자는 처리되지 않은 모델 데이터를 UI 보기에 직접 사용하는 경향이 있음을 알 수 있습니다. 이렇게 하면 최종 컴파일된 코드에서 많은 추가if-else null 검사 논리가 생성될 뿐만 아니라 코드가 매우 장황해 보입니다.

아래 의사 코드가 포함된 예를 참조하세요.

권장되지 않음:

   Text(_ctrl.sales?.amount ?? ''),
   Text(_ctrl.sales?.quantity ?? ''),
   Text(_ctrl.sales?.month ?? ''),


좋은
컨트롤러 다트

late SaleModel sales;

onFetch() async {
  var res = await fetch('https://abc.com/sales');
  if (null != res.data && null != res.data.sales) {
    sales = SaleModel.fromJson(res.data.sales);
  } else {
    // declare a named constructor which return SaleModel with blank string
    sales = SaleModel.blank();
  }
}


UI 보기

   Text(_ctrl.sales.amount),
   Text(_ctrl.sales.quantity),
   Text(_ctrl.sales.month),

좋은 웹페이지 즐겨찾기