2017-12-10 9 views
0

저는 오래된 학교 데스크톱 프로그래밍 세계에서 왔고 클래스가 비동기 백엔드가있는 각도 응용 프로그램에 어떻게 맞는지 이해하지 못합니다. 게다가, 나는 몇몇 프로젝트를 보았고, 나는 많은 수업을 보지 못했다. 저는 Angular를 좋아합니다. 나는이 점에 대해서 혼란 스러울뿐입니다.각도 개념 : 비동기와 함께 클래스 사용

내 DB에 사람에 대한 정보를 저장하고 Angular 앱이 REST API를 통해 해당 백엔드와 상호 작용한다고 가정 해 보겠습니다. 보내고받을 때 내 데이터를 멋지게 형식화 할 수 있기 때문에 사람 인터페이스를 사용하는 것을 이해합니다. 그러나 사람 클래스의 가치에 대해서는 명확하지 않습니다. 내 사람들 DB를 읽고 쓰려면 observables를 반환하는 Angular 서비스가 있습니다. 그래서 호출이 반환되었을 때를 확신 할 수 있습니다. 그래서 나는 그 코드에서 인적 서비스를 거치는 모든 작업을 마무리합니다.

이제 사람 클래스를 만들고 해당 클래스에 '추가'또는 '삭제'메서드를 추가하면 가입 또는지도 (또는 무엇이든)의 서비스에 대한 호출을 계속 포장해야합니다. 통화가 끝났습니다. 서비스에 대한 실제 호출은 해당 코드의 사소한 부분이므로 코드를 저장하거나 캡슐화하는 것처럼 보이지 않습니다. 내가 왜 사람 수업을 원하니?

+0

모든 CRUD 작업은 서비스에 포함됩니다. 내 전체 애플 리케이션에서, 나는 단 한 클래스에 대한 방법을 만들었습니다. 객체의 양을 추적하려면이 클래스가 필요합니다. –

+0

그래서 나는 미치지 않았다? 의견을 주셔서 감사합니다 –

+0

아래 내 앱에서 사용한 유일한 클래스는 다음과 같습니다. https : //stackoverflow.com/questions/41387316/how-do-you-sort-price-category-with-pipes-using-angular-2/ 41475768? s = 1 | 51.9641 # 41475768 –

답변

0

모든 비동기 기능을 클래스에 래핑 할 수 있습니다.

서비스가 클래스에 삽입되면서 다음과 같이 보일 것입니다. (당신은 가져 오기 또는 코드의 중복 많은 것 다시 서비스 만을 주입하지 않고 유사한 방법. 호출 할 수 있습니다)

Class Person { 
    id: string 
    name: string, 
    getName(httpService) { 
     httpService.get(/persons/id).subscribe() 
      .then((value) => this.name = value.name) 
    } 
} 

을하지만이 일이 완료되지 방법 보통이다. 비동기 요청을 처리하는 공통 서비스를 갖는 것이 훨씬 깔끔합니다.

클래스

  • 비 비동기 작업 (전체 이름에 대한 전직 게터)

  • 당신이 언급 한 바와 같이, 검색 및 데이터 전송을위한 인터페이스를 가진 것은 특히 정말 도움이 될 것입니다, 여전히 유용하다 Typescript (그리고 우리는 클래스 생성을 C# 코드에서 자동으로 수행하여 모델을 백엔드와 동기화하여 실제로 유지하는 데 도움을줍니다.)

  • 에 의해 사용되는 내보내기 가능한 모듈 만들기 각도.