programing

각도에서의 컨트롤러 코드 구성

lastcode 2023. 4. 2. 10:37
반응형

각도에서의 컨트롤러 코드 구성

그래서 앵귤과 첫 번째 큰 프로젝트를 진행 중입니다.제 컨트롤러는 1개입니다.많은 작업을 하고 있습니다.그것은 수천줄의 JavaScript에 달합니다.

어떻게든 헤어지고 싶지만, 어디에서도 확실한 예를 찾을 수 없을 것 같습니다.코드는 대부분 사물에 대한 계산을 할 때 사용하는 함수로 구성되어 있기 때문에 지시나 모듈은 정답으로 보이지 않지만, 제가 틀릴 수도 있습니다.

큰 Angular 프로젝트에서 코드를 어떻게 정리하고 있습니까?아니면 스캔하기 쉬운 파일로 분할할 수 있는 적절한 방법이 있을까요?

이러한 오브젝트 중 적어도 몇 가지와 관련된 계산을 서비스에 넣은 후 해당 서비스를 컨트롤러에 삽입할 것을 권장합니다.일부 데이터를 캡슐화하고 해당 데이터에 액세스/조작하는 방법을 제공하는 서비스의 예는 Sticky Notes Part 1 블로그 항목을 참조하십시오.

각 뷰에 하나씩 컨트롤러를 여러 컨트롤러로 분할할 수 있는지 확인합니다.보기는 페이지 크기만큼 크거나 페이지의 일부 청크/블록일 수 있습니다.

최근 본 구글 그룹 투고에서 인용하자면, "저는 각도 컨트롤러를 제 견해에 대해 멍청한 apis/configs로 생각하고 모든 무거운 작업은 서비스에 맡기고 싶습니다." --참고 자료입니다.

컨트롤러에 있을 때 자신에게 물어봐야 할 몇 가지 사항이 있습니다.

  1. 컨트롤러에서 DOM 조작을 하고 있습니까?이것은 확실한 NO입니다.절대 그러지 마세요.그것은 항상 지시부서에 속합니다.

  2. 컨트롤러에 비즈니스 로직을 기입하고 있습니까?이것도 아니오입니다.대부분의 경우, 고객의 비즈니스 로직은 서비스에 존재해야 합니다.그곳이 그것을 하기에 알맞은 장소이다.

이제 사용 중인 컨트롤러를 살펴보십시오.이 두 개가 빠져 있는데도 1000개 이상의 라인이 있습니까?가능성이 매우 낮지만, 어떻게든 발생하더라도 컨트롤러를 더 작은 컨트롤러로 분할하는 것을 고려해 보십시오.이 컨트롤러의 분할은 뷰에 근거해 실시할 필요가 있습니다.

결론적으로 말하면, 컨트롤러는 비즈니스 로직과 뷰를 HTML로 정리하는 장소일 뿐입니다.기술적으로는 이러한 색상 이외에는 아무것도 포함할 수 없습니다.

저는 보통 Util 팩토리(서비스가 아닌 Angular에서 사용하는 방법인 것 같습니다)를 만들고 공유 로직을 메서드 세트로 반환합니다.

https://gist.github.com/lamba/c275f5f010090632209e

언급URL : https://stackoverflow.com/questions/12198385/controller-code-organization-in-angular

반응형