6. WebForm VS MVC
WebForm
- Winform과 유사한 이벤트 기반의 프로그래밍
- 도구상자의 Drag&Drop (서버컨트롤)
- ViewState를 이용한 상태관리
- 포스트백
MVC
- View Model Controller로 관심의 분리
- ViewState가 없음.
- 원하는 HTML 코드 생성(웹표준)
- RESTfull
- 관심의 분리로 자동화된 단위 테스트 작성에 유리
8. 라우팅 시스템
- WebForm : http://hoons.kr/Board.aspx?page=2&Name=Free
- MVC : http://hoons.kr/Board/Free/1
- SEO 최적화.
- IIS의 물리적인 파일 구조 노출안함.
System.Web.Routing
routes.MapRoute(
"BoardList", // 경로 이름
"Board/{BoardKindCode}/{Page}", // BoardIdx는 글 읽을 때 해당
new { controller = "Board", BoardKindCode = "", action="List",Page = 1 },
new string[] { "HOONS.WEB.Controllers" }
// 매개 변수 기본값
);
25. DI(Dependency Injection)
의존성 주입
의존 객체를 외부에서 전달 받음
public class AccountController : Controller
{
//멤버 리파지터리 인터페이스
private IMemberRepository memberRepository;
public AccountController(IMemberRepository memberRepository)
{
//생성자를 통해 의존객체 전달
this.memberRepository = memberRepository;
}
//... 생략...