템플릿: 4개의 글
템플릿과 템플릿 문법 (Template) 템플릿 (Template) 란? 템플릿은 HTML과 Angular 고유의 템플릿 문법을 사용하여 UI의 초사 단위인 컴포넌트의 뷰를 정의 동적으로 변하는 데이터는 컴포넌트 클래스가 관리하며 템플릿 문법의 데이터 바인딩에 의해 정적 HTML에 포함 뷰 생성과정 Component class에서 데이터 바인딩을 통해 데이터와 템플릿이 합쳐져 compile을 통해 최종적인 view를 생성 Angular는 템플릿과 컴포넌트 클래스로 뷰와 모델(데이터와 비즈니스 로직)을 분리한다. Angular는 컴포넌트 기반 개발 (CBD, Component Based Development) 프레임워크 MVC와 MVVM패턴과 일치하지 않지만 템플릿은 뷰(View)를 나타내고 컴포넌트 클래..
템플릿 참조 변수와 세이프 내비게이션 연산자 (Template reference variable & Safe navigation operator) 템플릿 참조 변수 (Template reference variable) DOM요소에 대한 참조를 담고 있는 변수 템플릿 요소 내에서 해시 기호(#)를 변수명 앞에 추가하여 템플릿 참조변수 선언 템플릿 내에서만 유효하며 컴포넌트 클래스에 어떠한 side effect도 주지 않는다. 이벤트 바인딩을 통해 컴포넌트 클래스로 전달할 수는 있다. 사용예로는 이메일 주소 validation check html .... 세이프 내비게이션 연산 (Safe navigation operator) 세이프 내비게이션 연산 ?는 컴포넌트 클래스의 프로퍼티의 값이 null 또는 und..
템플릿은 제너릭 프로그래밍을 C++에서 구현하기 위해 도입된 개념입니다. template 키워드를 통해 구현하죠. 제너릭 프로그래밍이란 어떤 데이터의 형식에 의존하기 않고 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하여 재사용성을 높일 수 있도록 한 프로그래밍 방식이죠. 예를 들어보죠. int add(int x, int y) { return x + y; } double add(double x, double y) { return x + y } 두 수를 더하는 간단한 함수입니다. 하지만 c++에서는 실수와 정수를 표현하는 데이터 타입이 다르기 때문에 만약 각각의 데이터 타입에 맞는 함수를 구현하려면 오버로딩을 통해 각 데이터 타입에 맞는 함수를 다시 작성해야 합니다. 두 개 정도야 좀 불편하더라..
템플릿 메서드 패턴 Templete Method 패턴은 템플릿의 기능을 가진 패턴이다. 상위 클래스 쪽에 템플릿에 해당하는 메서드가 정의되어 있고, 그 메서드의 정의 안에는 추상 메서드가 사용되고 있다.따라서 상위 클래스의 프로그램만 보면 추상 메서드를 어떻게 호출하고 있는지 알 수 있지만, 최종적으로 어떤 처리가 수행되는지는 알 수 없다.추상 메서드를 실제로 구현하는 것은 하위 클래스이다. 하위 클래스 측에서 메서드를 구현하면 구체적인 처리가 결정된다. 서로 다른 하위 클래스가 서로 다른 구현을 실행하면 서로 다른 처리가 결정된다. 서로 다른 하위 클래스가 서로 다른 구현을 실행하면 서로 다른 처리가 실행될 것이다.그러나 어떤 하위 클래스에서 어떤 구현을 하더라도 처리의 큰 흐름은 상위 클래스에서 결정..