ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 닷넷 3.5를 이용한 디자인 패턴의 구현 (2)
    DesignPatterns 2009. 8. 3. 00:57
    반응형

    N-티어 패턴

    마이크로소프트는 매우 긴 시간 동안 n-티어 개발에 전념했다. 그것은 1999년에 소개되어 핸져는 거의 사양화된 DNA(Distributed interNet Architechture)의 핵심이었고, 현재는 닷넷의 핵심으로 남아있다

    이전에는 N-티어라고 하면 "3계층 혹은 그 이상"을 의미했다. 필수적으로 요구되는 3계층은 UI를 담장하는 프리젠데이션, 비즈니스로직, 데이터계층이었다

    물론, 3계층보다 더 많은 것도 가능하다 . 예를 들어, 일부 개발자들은 로직처리를 담당하는 비즈니스 계층을 업무흐름(workflow)과 규칙(rule)으로 분리하기도 하고, 데이터 계층을 프로그램에서 처리할 부분과 DB에서 처리할 부분으로 분리하기도 한다.

    견고한 n-티어 개발의 핵심은 각 계층의 명확한 분리이다. 프리젠테이션 계층의 오브젝트 들은 비즈니스 오브젝트들의 내부 사정에 관한 가능한 적게 알아야 하고, 출력하는 데이터를 관리하는 데이터가 어떻게 관리되는지 전혀 몰라야 한다.

    이렇게 계층 간의 분리는 개발자들이 빠르게 변경되거나 발전하는 개발 환경에 직면할수록 더 확실히 해야 한다. 표현해야 할 선택 요소들이 코딩하는 방법을 배우는 것보다 더 빨리 증가하고, , 제공해야할 데이터의 종류와 양이 기하급수적으로 증가하는 환경이라면 더더욱 그러할 것이다.
     
    메일 메시지, 스프레드시트, XML문서, 다양한 데이터베이스의 쿼리 결과, 웹서비스에서 가져온 수많은 데이터들을 모아서 웹이나 모바일 기기에도 제공해야한다. 더구나, 이 모든 데이터들은 사용자의 접근 편접 , 조작 권한과 위치할 환경을 결정하는 업무 규칙을 고려해야 한다. 또  다른 문제는 작업의 설계나 프로그램들이 고정된 상태가 아니라 수시로 변할 수 있다는 점이다.

    일반적인 3-티어 설계 구조

    다른 구조의 N-티어 구조



    MVC 패턴

    위키피디아에 의하면, MVC(Model-View0Controller)패턴은 1979년 Trygve Mikkjel Heyerdahl Reenskaug 이   제록스  PARC 연구소에서 근무할 때 스몰토크(Smalltalk)로 처음 개발했다고 한다.

    이 패턴의 핵심 개념은 모델(Model)에서 시작한다. 다시 말해, 모델은 문제를 표현하는 영역을 말한다. 이곳은 프로그램의 상태와 데이터를 포함하고 데이털의 구조와 어떻게 조작할 수 있는지에 중점을 둔다.

    두 번째 개념은 뷰(View)인테, 모델을 어떻게 사용자 인터페이스로 표현할지에 관심을 둔다. 일반적으로 뷰는 버튼처럼 사용자와 상호작용을 처리하는 컨트롤들을 포함한다

    세 번째 핵심 개념은 컨트롤러(Controller)이다. 컨트롤러는 사용자의 동작이나 이벤트들을 감지하여 모델과 뷰 사이에 상호작용을 전달하여, 이들 모두 혹은 어느 한쪽을 수정한다. 예를 들어, 버튼을 누르면 컨트롤러가 모델에게 메시지를 보내고, 이를 통해 모델의 상태를 변경한다. 차례로 뷰에서 다른 메시지를 보내서 모델의 새로운 상태를 표현하도록 수정한다.



    - 참고  Programming .Net 3.5 by Jesse Liberty and Alex Horovitz.




    반응형

    댓글

Designed by Tistory.