3Tier

김민진·2021년 4월 13일
0

개발공부

목록 보기
1/9

flutter 를 하다보니 MVC가 뭔지 정확히 이해가 되었다.
그전에는 모델 뷰 컨트롤러...
모델에는 모델만 뷰는 뷰만 컨트롤러는 컨트롤러만..

이게 뭔소리지?? 싶었다.

unity를 할때에는 사실 저걸 구분한다는게 이해가 잘 안되기도 했고..
그만큼의 지식+할마음이 없던거 같다

MVC를 하다보니 이제는 3Tier이라는게 눈에 들어오기 시작했다.

3Tier란
사용자 인터페이스 , 비즈니스 로직 , 데이터베이스를 말하며
이들을 각각 독립시켜서 쓰는것
즉 DB,Server,Client를 각각 독립시켜놓는 것이고 내가 이해하기로는 내 코드를 지키고자 이렇게 하는것 같다.

아래는 위키백과의 내용이다.

세 층이란 사용자 인터페이스, 비즈니스 로직, 데이터베이스를 말하며, 이들을 각각 독립된 모듈로 개발하고 유지하는 구조로, 일반적으로 이들은 각각 다른 플랫폼 상에서 구동된다.

3층 구조는 2층 구조의 제한을 극복하기 위해서 탄생한 구조로, 사용자 인터페이스 환경과 데이터베이스 관리서버 환경 사이의 중간층이 추가된 구조이다. 중간층의 구현은 트랜잭션 처리 모니터, 메시지 서버, 응용 서버 등 여러 가지 방법으로 구축될 수 있다. 이러한 중간층은 데이터베이스의 다단계나 응용 프로그램의 실행 또는 사용자 요구 분산을 위한 큐잉을 수행할 수 있다. 예를 들어, 중간층이 큐로써 역할을 한다면 클라이언트는 자신의 요청을 중간층에 전달만 하고 중간층이 서버에 접속해서 클라이언트가 남기고 간 요청에 대한 응답을 받아 클라이언트에 돌려줄 것이다. 이러한 중간층의 역할은 스케줄링을 가능하게 할 뿐만 아니라, 다수 사용자 요구 처리에 대한 우선 순위를 정할 수 있게 해주어 서버의 부하를 줄여준다.

3층 구조는 아래의 세 층으로 나뉘어 있다.

프레젠테이션 계층
프레젠테이션 계층은 응용 프로그램의 최상위에 위치하고 있는데 이는 서로 다른 층에 있는 데이터 등과 커뮤니케이션을 한다.

애플리케이션 계층
이 계층은 비즈니스 로직 계층 또는 트랜잭션 계층이라고도 하는데, 비즈니스 로직은 워크스테이션으로부터의 클라이언트 요청에 대해 마치 서버처럼 행동한다. 그것은 차례로 어떤 데이터가 필요한지를 결정하고, 메인프레임 컴퓨터 상에 위치하고 있을 세 번째 계층의 프로그램에 대해서는 마치 클라이언트처럼 행동한다.

데이터 계층
데이터 계층은 데이터베이스와 그것에 액세스해서 읽거나 쓰는 것을 관리하는 프로그램을 포함한다. 애플리케이션의 조직은 이것보다 더욱 복잡해질 수 있지만, 3계층 관점은 대규모 프로그램에서 일부분에 관해 생각하기에 편리한 방법이다.

출처 https://ko.wikipedia.org/wiki/%EB%8B%A4%EC%B8%B5_%EA%B5%AC%EC%A1%B0

개발을 어떻게 하느냐에 따라서 한 클래스에 다 박아둘수도 있고 위처럼 다 나누어서 관리할 수 도 있는거 같다.

지금의 나는 클라이언트와 서버 데이터베이스가 존재하고 클라이언트가 서버에 통신하고 서버가 데이터베이스와 통신하는 구조로 되어져 있지만..
언젠가는 저런 구조로도 개발을 해보고 싶다. 지금 해놓은 구조가 저거는 아니겠지??

profile
dart,c#,java 개발자! 잡다하게 해서 문제될게 없다!

0개의 댓글