2013-08-31 3 views
0

ASP.Net 웹을 탐험 중입니다. Api 및 일부 수정 (수정) 및 DB (MySQL)에서 일부 데이터를 편집하고 표시하는 옵션을 기본적으로 제공하는 웹 페이지를 만드는 데 사용하려고합니다. . 또한 모바일 앱에서 사용할 REST API를 제공하려고합니다. 이제 ApiController (REST API를 제공)와 MVC Controller (View 메소드 사용)를 사용하여 모델을 렌더링 할 수 있습니다. 이 작동하지만 API와 MVC 컨트롤러 사이에 많은 중복이 있습니다. 이중화를 피하는 설계 패턴이나 다른 것이 있습니까?Asp.net 웹 API 및 mvc - 중복 피하기

API 컨트롤러가 JSON을 반환하고 MVC 컨트롤러가보기 용 모델을 반환해야한다는 것을 알고 있습니다.

답변

1

중복을 제거하기 위해 따라야 할 두 가지 일반적인 경로가 있습니다.

  1. js 프레임 워크를 사용하고 모든 데이터에 대해 나머지 API를 사용합니다. SPA가 만들어지기 때문에 녹아웃, 산들 바람과 수많은 다른 프레임 워크가 이것을 지원합니다. 모든 프레임 워크에서 길을 잃을 수 있으므로 원하는 프레임을 찾을 때 배우고 배우십시오. 나는이 구조를 녹아웃 및 새미 (라우팅 용)가있는 최신 웹 응용 프로그램에서 사용 중입니다.

  2. 지방 모델, 스키니 컨트롤러. 이 문제를 실제로 처리하는 방법은 데이터의 복잡성에 달려 있습니다. MVC는 여러 레이어를 가질 수 있습니다. API의 뷰를 MVC의 컨트롤러 및 뷰에서 모델로 사용할 수 있습니다. 쿼리를 처리하고 두 컨트롤러에서 참조하는 DAL을 표시 할 수 있습니다. 어떤 방법 으로든 복제가 제거됩니다.