From Design pattern
Jump to: navigation, search

Sync(Synchronization)는 서로 다른 위치에 저장된 파일의 버전을 서로 일치하도록 하는 패턴이다. 사용자가 원할 때 최신 정보를 업데이트할 수 있는 하나의 패턴으로 동기화라는 명칭으로 활용하기도 한다.

단 방향 동기화는 파일을 기본 위치에서 보조 위치만으로 이동시키는 경우로 apple 제품을 활용할 때 itunes가 이러한 구성을 취한다. 양방향 동기화는 파일을 양방향으로 복사하여 두 위치의 동기화 상태를 유지하여 항상 파일의 최신 버전을 유지하는 경우에 적합하다. 사용자가 파일을 다루는 두 개 이상의 장치가 서버를 통해 연동되는 클라우드 형태일 경우, 각각의 장치는 직접적으로 연결되는 것이 아니라 서버와 동기화하는 과정을 거쳐 한 장치에서 동기화를 진행할 때, 다른 장치에까지 동기화가 진행되지는 않는다.

With this pattern, we can solve...

서로 다른 위치에서 파일을 항상 마지막에 작업한 최신의 형태로 공유하고 싶거나, 복수의 서버나 장치 간에 유선 혹은 무선의 형태로 자료를 공유하고 싶을 때 동기화 작업이 필요하다.

  • 동기화는 사용자의 설정에 따라 두 서버나 장치가 연결될 경우 자동으로 진행되거나 수동으로 진행할 수 있다.
  • 동기화는 단방향 또는 양방향 동기화를 수행하도록 자동 설정되지만 선택 가능한 경우도 있다.
  • 동기화를 진행할 때 현재의 진행단계나 진행완료 상황을 사용자에게 명확하게 피드백해주어야 한다.
  • 만약 저장된 특정 상태로 되돌리는 형태라면 동기화보다는 Reset이나 복원에 가깝다.
  • Export and import 또한 동기화의 일종이지만, Export and import는 동기화 파트너 관계에 위치한 두 개 이상의 서버나 장치에서 동기화 설정을 통해 진행되는 것이 아니라, 특수한 기능을 가진 앱이나 프로그램, 서비스로 특정 위치에 있는 파일을 추출하는 경우에 해당한다.

Andriod_BBC

  • 동기화 버튼을 통해 화면에 나타난 기사를 가장 최신의 것으로 업데이트한 상황으로, 비록 구현의 형태는 다르지만 경우에 따라 Pull to refresh라고도 볼 수 있다.