PopupController 

1. 특정 팝업을 네이밍에 맞는 리소스 경로로 부터 꺼내와 캔버스 위치에 인스턴스한다.

2. 인스턴스할 캔버스 위치를 포지셔닝하고 오픈 유무확인 및 객체를 Destroy 한다.

 

BasePopup

1. 모든 팝업은 베이스 팝업을 상속한다.

2. 베이스 팝업에는 Open/Close를 할 때  블러효과와 애니메이션 연출을 담당하며

3. 기본적인 Open/Close 또는 특정 버튼 액션에 대하여 이벤트 호출을 삽입할 수 있도록 설계되어 있다.


팝업 오픈(초기화)를 진행하는 메서드는 OpenPopup() 이며 가상함수로써 상속 받은 자식 클래스에서 이 메서드를 오버라이드하여 커스텀화 할 수 있게 한다.

OpenPopup()은 이후 팝업 버튼 액션에 대한 구현 타입에 따라 2가지 타입(오버로딩)으로 분류된다.

 

# 버튼 액션에 대한 구현 타입 2종류

 

1. 특정 UI 팝업 클래스 내부에 개별 버튼에 대한 이벤트 호출을 작성할 수 있도록 할 것

 

->  팝업 내부가 어느정도의 의미와 복잡성을 띄는 경우, 사용자는 그 특정 팝업 클래스의 설계 코드를 보고 구현 내용을 이해할 것이므로 

     팝업 클래스 내부에 이벤트에 대한 코드 가시성을 확보해야한다.

->  또한 팝업이 닫혔을 때 받는 이벤트 로직에 이해 관계가 호출 시점과 팝업 클래스 내부 두군데 모두에 관련성을 가질 때

 

2. 외부에서 UI 팝업 오픈 시 함수 호출 시점에 미리 각 버튼 액션에 대한 확인 이벤트 호출을 작성할 수 있도록 할 것

 

-> 팝업 내부에 복잡한 UI 내용을 담고 있지 않고 단지 각 버튼에 대한 다른 진행 절차 플로우 용도로만 사용되는 경우

-> 이 경우 함수 호출 시점에 진행되는 코드 구현 내용이 파악 되는 것이 중요하므로 사용자는 그 팝업 클래스 내부의 작성 내용을 살펴 볼 필요가 없어야 한다.

 

(로그인 버튼 팝업) 버튼 액션의 동작 플로우만 나타내야 하는 경우 2번 타입에 해당함
 

 

 

 

 

 

팝업 컨트롤러 (PopupController)

GetPopupPrefab() 리소스 경로로 부터 팝업 프리팹을 꺼내 캔버스 위치에 인스턴스시킴
OnBlur : 팝업 오픈시 블로효과 제어 
# 팝업 카테고리에서 ShowPopup_Naming 으로 오픈할 팝업 로직 구현 (샘플 예제 첨부)
 

 

 

베이스 팝업 (BasePopup)

OpenPopup() : 팝업 초기화 시점 제어
ClosePopup() : 팝업 종료 시점 이벤트 호출 제어
 

 

인터넷 통신의 계층 간 상호작용을 설명하는 모델에는 여러 종류가 있다. 초기 인터넷 호스트 요구사항을 정의한
RFC 1122에선 링크 계층(링크 네트워크 인터페이스 계층), IP계층, 전송계층, 응용계층 이렇게 네 개의 계층으로 구분한다.
한편, [OSI7 계층] 이라 하여 OSI 모델에서는 7개의 계층으로 구분한다.

각 계층에서는 저마다 자기 윗단 계층을 지원하기 위해 수행해야 하는 역할이 있다. 
  • 윗단 계층에서 데이터 블록을 수신한다.
  • 계층 헤더를 추가해 패킷을 꾸린다.
  • 데이터를 아랫단 계층으로 전달해 송신 과정을 계속해 나간다.
  • 아랫단 계층에서 수신된 데이터를 받는다.
  • 헤더를 제거하여 수신된 데이터의 패킷을 푼다.
  • 수신된 데이터를 윗단 계층으로 전달해 수신처리를 계속해 나간다.
<통신 과정에서 각 계층을 지나는 데이터는 패킷 단위로 작게 쪼개지고 목적지 정보와 같은 부가 정보가 헤더의 형태로 덧붙여지게 된다>


<계층의 역할>
애플리케이션 계층(서버,클라이언트) - 웹 서비스, 이메일과 같은 서비스를 사용자에게 제공
트랜스포트 계층(TCP,UDP) - 애플리케이션 계층과 인터넷 계층 사이에서 데이터가 올바르게 전달되도록 중계한다.
인턴넷 계층(IP 어드레스, IPv4, IPv6, 라우팅) - 목적지의 IP 어드레스로 데이터를 전달한다.
네트워크 인터페이스 계층(무선랜, 이더넷) - 네트워크 어댑터와 같은 하드웨어를 통해 데이터를 전달한다.

4개의 계층 중 서비스의 내용을 결정하는 것은 애플리케이션 계층뿐이다. 
나머지 3개의 계층은 데이터를 전달하는 통신 기능을 담당

그렇지만 각 계층이 어떤 식으로 역할을 수행해야 하는지 정해져 있는 것은 아니다. 
각 계층마다 다양한 프로토콜이 있어 그중 하나로 역할을 수행하는데, 개중엔 TCP/IP 처럼 오래된 것도 있고
어떤 것은 최근 발명된 것도 있다. 객체 지향 개념에 익숙하다면 계층을 인터페이스라 여기고 
프로토콜 집합은 그 인터페이스를 구체화한 구현물이라 생각해도 좋다.


송신지 --->

애플리케이션 계층 - 상대에게 보낼 데이터
트랜스포트 계층 - 전송하기에 적합한 크기로 작게 쪼갠 후, 목적지의 프로그램을 식별할 수 있는 정보를 덧붙힌다.
인턴넷 계층 - 수신 측의 컴퓨터를 식별할 수 있는 정보를 덧붙힌다.
네트워크 인터페이스 계층 - 하드웨어에 신호를 전달하는 데 필요한 정보를 덧붙힌다.

---> 수신지 

네트워크 인터페이스 계층 - 헤더나 트레일러를 떼어네고 인터넷 계층으로 전달한다.
인턴넷 계층 - 자신이 수신해야 하는 데이터라고 판단되면 이 데이터를 트랜스포트 계층으로 전달한다.
트랜스포트 계층 - 모든 데이터가 수신된 것을 확인하고 데이터들이 결합되면 목적지의 프로그램에게 전달한다.
애플리케이션 계층 - 수신된 데이터






'Programming > 네트워크' 카테고리의 다른 글

OSI 참조 모델  (0) 2018.08.14
기본 용어 정리  (0) 2018.08.14

통신 기술의 도입과 통신 기능의 확장을 쉽게 하려고 프로토콜을 몇 개의 계층으로 나누는 것을 계층화라고 하고 

통신 기능을 7계층으로 분류하여 각 계층마다 프로토콜을 규정한 규격을 OSI(Open System Interconnection) 모델이라 한다.

과거에는 통신업체마다 상호 호완성을 감안하지 않은 채 각자의 시스템에만 적용되는 개별 네트워크 구조를 사용해 왔다.
수많은 컴퓨터와 네트워크 장비를 연결하여 통신하려면, 서로 간의 통신회선, 구조, 프로토콜 등의 표준화가 이루어져야 하는데
이에 대한 요구로 1978년 국제표준협회(ISO)에서는 서로 다른 컴퓨터 간에 통신할 때 네트워크 구조에 상관없이 통신할 수 있도록
국제 표준인 OSI(개방형 시스템 상호 연결) 모델을 만들었다.
그림 참조 (https://www.blackmoreops.com/2016/05/05/osi-layers/)


LAYER 7 애플리케이션 층
구체적인 통신 서비스(파일/메일의 전송, 원격 데이터베이스 액세스 등) 을 제공, HTTP나 FTP(File Transfer Protocol) 프로토콜 등이 있다.

LAYER 6 프레젠테이션 층
데이터의 표현 방법을 정함(데이터의 포맷/확장자를 결정) (EBCDIC의 텍스트 파일을 ASCII코드의 파일로 변환하는 것 등)

LAYER 5  세션 층
통신장치 간의 상호 작용을 설정, 유지 및 동기화(접속 도중에 끊어진 경우 접속 회복을 시도한다.)

LAYER 4 전송 층
오류복구와 흐름제어(발신지 대 목적지) 등을 담당한다.
패킷들의 전송이 유효한지 확인하고 실패한 패킷은 다시 보내는 등 신뢰성 있는 통신을 보장하며, 헤더에는 세그먼트가 포함
-----------------------------------------------------
LAYER 3 네트워크 층
상위 계층에 연결하는 데 필요한 데이터 전송과 경로 선택 기능 제공, 네트워크 통신 경로의 선택(라우팅), 데이터 중계

LAYER 2 데이터 링크 층
직접적(인접적)으로 접속되어 있는 통신 기기 간의 신호를 전달

LAYER 1 물리 층
물리적인 세부 사항 정의 (커넥터의 핀 수, 커넥터 형태의 규격 등. 구리선, 광케이블 간의 전기 신호의 변환 등)


'Programming > 네트워크' 카테고리의 다른 글

TCP/IP Model과 데이터 형태  (0) 2018.08.14
기본 용어 정리  (0) 2018.08.14

+ Recent posts