2016-09-25 8 views
5

Django 프로젝트가 점점 커지면서 아키텍처와 관련된 문제에 직면하고 있습니다. 코드 작성을 시작하기 전에 프로젝트를위한 멋진 아키텍처를 찾는 데 많은 시간을 할애합니다 : 프로젝트에서 다른 프로젝트로 분할하는 방법, 다른 응용 프로그램에 의존하는 응용 프로그램 등등. 명확히 말하면 아키텍처별로 프로젝트 레이아웃을 의미하지는 않습니다.Django 프로젝트 아키텍처

나는 내 연구를 수행했지만 주어진 Django 프로젝트에 가장 적합한 아키텍처를 찾는 데 필요한 몇 가지 방법을 보여주는 ressource를 찾지 못했습니다. 웹 개발 밖에서 UML이 갈 길인 것 같습니다.

내 질문은 왜 인터넷에서 해당 주제에 대한 거의 논의는

1)이없는

? 내 접근 방식에서 뭔가를 놓치고 완전히 잘못 되었습니까?

2) Django 프로젝트 아키텍처에서 UML을 사용할 수 있습니까?

3) Django에서이 문제를 해결할 수있는 일반적인 방법이 있습니까?

답변

4

코딩을 시작하기 전에 나는 내 프로젝트에 대한 멋진 아키텍처, 즉 앱에서 내 프로젝트를 분할하는 방법, 다른 응용 프로그램에 의존하는 응용 프로그램 등을 찾기 위해 많은 시간을 할애합니다.

나는 당신이 이것을 생각하고 있다고 생각합니다. 프로젝트 아키텍처는 (& 일 것입니다) 당신이 가면서 진화 할 수 있습니다. 1 개의 큰 앱으로 시작한 다음 적절한 구조가 분명 해지면 앱을 분리 할 수 ​​있습니다.

1) 인터넷상의 주제에 대해 거의 논의가없는 이유는 무엇입니까? 내 접근 방식에서 뭔가를 놓치고 완전히 잘못 되었습니까?

짧은 답변은 "귀하에게 달려있다"또는 "귀하의 프로젝트에 따라 달라지기"때문입니다. 이것은 당신을 도울 것입니다 : Django: best practice for splitting up project into apps

2) Django 프로젝트 아키텍처에서 작동하는 데 UML을 사용할 수 있습니까?

왜 안 보이나요.

3) Django에서이 문제를 해결할 수있는 일반적인 방법이 있습니까?

  • 재사용을 (응용 프로그램이 다른 프로젝트로 제한 변화에 더로 포팅 될 수 없었다 (1 응용 프로그램이 한 일을)

    • Responsabilities :

  • 는 주위에 당신의 애플 리케이션을 나누어 고려할 수있는 방법은 여러가지 방법이 있습니다 모델/뷰가 있어야 할 곳에 당신은 몇 가지 안내를하고 싶은 경우) 사용

  • 용이성 (다른 DEV)는
  • +2

    코딩하기 전에 아키텍처를 만드는 것이 과용이라고 생각하지 않습니다. 이것이 최선의 접근 방식입니다. 먼저 생각하고 나중에 행동하십시오. 그 반대도 마찬가지입니다. –

    +0

    이전에는 코드로 바로 갔었지만 앞으로 계획을 세울 때 생산성이 훨씬 더 높아졌습니다. 디자인이 잘 끝나면 코딩이 훨씬 더 쉬워진다. – Kowalsy

    +1

    나는 코드에 곧바로 들어가는 것은 아니지만 기본적으로 균형을 찾아야한다. 조금 => 행동 => 반복하라. –

    2

    을 추측 할 수 웹 응용 프로그램 용 UML 디자인을 만드는 방법에 대해서는 내 백서 "Technical design in UML for AngularJS applications"을 좋아할 것입니다. Angular 앱에 초점을 맞추지 만, 대부분은 일반적인 웹 앱에도 적용됩니다.

    +0

    감사합니다. 나는 그것을 볼 것입니다! – Kowalsy

    1

    더 많은 정보를 수집 한 후 흥미로운 아키텍처가 나왔습니다 (나는 reddit에서 아이디어를 발견했지만 URL을 검색 할 수 없었습니다).

    전체 코드는 독립적 인 애플리케이션 (우려의 분리)에 sperated해야하며, 당신은이 "프로젝트 전체"응용 프로그램 (사이트 및 유틸)를 정의해야합니다

    • 사이트의 응용 프로그램이 다른 응용 프로그램에 따라 달라질 수 있습니다을 .
    • utils 앱은 다른 앱에 의존하지 않지만 다른 앱에 의존 할 수 있습니다.
    • 독립적 인 앱은 유틸리티에만 의존 할 수 있습니다.