8 Week

1 분 소요




Data Binding

분리된 ViewModel 을 하나로 묶어 두개의 데이터 소스를 연결하고 동기화 하는 기술이다.
Data Binding 은 대표적으로 단방향 데이터 바인딩과 양방향 데이터 바인딩으로 나뉜다.

백엔드 개발자에게 익숙한 MVC 패턴View 대신 json 을 사용한다고 볼 수 있다.
프론트에선 요즘은 MVVM 패턴 을 자주 사용하는데 여기서 Data Binding 을 활용한다.


  • 단방향 데이터 바인딩
    • event 를 통해 데이터 흐름이 단방향으로 이루어 진다. (부모 -> 자식)
    • View 가 바로 업데이트 되지 않는다.
    • 양방향 데이터 바인딩 보다 리소스가 적게 든다.


  • 양방향 데이터 바인딩
    • 데이터 변경에 따라 프레임워크를 통해 양방향으로 이루어 진다. (부모 <-> 자식)
    • View 가 즉시 업데이트 된다.
    • 단방향 데이터 바인딩 보다 리소스가 많이 든다.


왜쓰는데?

웹 애플리케이션의 복잡도가 갈수록 향상되면서 브라우저 메모리가
자바스크립트 객체와 화면에 있는 데이터를 맞추는데 큰 어려움이 생기고 있다.
이러한 상황을 쉽게 해결 해주기 위해 Data Binding 을 사용한다.
대표적인 프론트엔드 프레임워크인 Angular, React, Vue 모두
Data Binding 을 지원하는데 상황에 따라 적절하게 쓰면 되겠다.





To Do





OOP

어플리케이션을 구성하는 요소들을 객체로 보고, 객체들을 유기적으로 연결하여 프로그래밍 하는걸 말한다.
데이터와 이를 처리하는 루틴을 하나의 독립된 객체 로 본다.
재사용성, 유지보수 에 용이하고 대형 프로젝트에 적합하다.
하지만 속도가 상대적으로 느리고, 설계 시 많은 리소스가 들어간다.

  • 추상화
    • 목적과 관련이 없는 부분을 제거하여 필요한 부분만을 표현하기 위한 개념
  • 캡슐화
    • 정보은닉 - 접근제어자
    • 코드의 의존성을 줄이고, 결합도를 낮추는 것
    • 필요한 부분만 외부에 노출시키고 나머지는 숨긴다.
    • 외부에서 불필요한 의존을 할 일이 없어지고 의존성이 줄어드는 만큼 유지보수도 편해진다.
  • 상속
    • 코드의 재사용성에 이점이 있지만 코드의 재사용성만을 위해 사용은 지양한다.
    • 흔히 재사용성 뿐 아니라 계층구조 같은 구조를 만들 때 사용하자
  • 다형성
    • 객체지향의 꽃이라고도 불린다.
    • 형태가 같지만 다른 기능을 하는 것을 말한다.
    • 하나의 타입에 여러 객체를 대입할 수 있는 성질이다.
      • 업캐스팅
        • 서로 다른 클래스의 인스턴스를 동일한 타입에 할당할 수 있게 한다.
      • 동적바인딩
        • 메시지를 수신했을 때 실행도리 메서드가 런타임에 결정된다.
      • 오버로딩
      • 오버라이딩


OOP 왜쓰는데?


OOP와 상속


OOP와 추상화

책에서는 모델링이라고 설명한다.
대상에 집중하지말고 문제에 집중을 하면 올바른 추상화에 가까이 갈 수 있다.
대상은 문제를 풀기 충분한 정도의 속성만 가지고 있으면 되고, 이 문제를 푸는데 불필요한
속성은 제거하는 편이 낫다.


OOP와 캡술화


OOP와 Getter / Setter






댓글남기기