사용자 유형별로 기능을 분리하는 가장 좋은 방법

Frankra

사용자 유형에 따라 기능을 제한 / 수정해야 할 때 소프트웨어 아키텍처를 어떻게 설계합니까? 예를 들어 3 가지 사용자 유형이 있다고 가정 해 보겠습니다.

  • 비어 있는
  • 프리미엄
  • 사업

그리고 이미지 업로드를위한 API를 구현하는 기능입니다.

이제 까다로운 부분은 다음과 같습니다.

  • 무료 사용자는 10 개의 이미지를 업로드 할 수 있습니다.
  • 프리미엄 사용자는 100 개의 이미지를 업로드 할 수 있습니다.
  • 비즈니스 사용자는 1000 개의 이미지를 업로드 할 수 있습니다.

음, 요청을 처리하는 방법에 대해 'if'를 수행 할 수 있다는 것을 알고 있지만 다른 유사한 경우 (사용자 유형에 따라 달라지는 기능)가 많기 때문에 더 나은 확장 가능한 솔루션을 찾고 싶었습니다. 이 문제.

어떤 아이디어?

헬튼 비커

다형성을 사용할 수 있습니다. 즉, 동일한 메서드를 각 경우에 다르게 구현하는 다른 하위 클래스를 가질 수 있습니다.

예를 들어, 당신은 할 수 있습니다 User서브 클래스와 클래스를 FreeUser, PremiumUser그리고 BusinessUser, 당신이 호출 할 때 User.UploadImage, 사용자의 각 하위 유형은 서로 다른 제한이있다.

기본 클래스는 다른 모든 메 토드 (유사한 경우)를 포함합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

VSTO Excel 추가 기능 응용 프로그램에서 ActiveWorkbook을 관리하는 가장 좋은 방법

분류에서Dev

GitHub를 사용하여 프로젝트에 새로운 기능을 추가하는 가장 좋은 방법

분류에서Dev

사용자 기능을 저장하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

DOM을 사용하여 글자로 단어를 분할하는 가장 좋은 방법

분류에서Dev

문자열을 용어 사전으로 구문 분석하는 가장 좋은 방법

분류에서Dev

사용자 기술 방법을 구현하는 가장 좋은 방법-Rails 4

분류에서Dev

사용자 기술 방법을 구현하는 가장 좋은 방법-Rails 4

분류에서Dev

구성 요소간에 존재하는 서비스 사용 유형 스크립트 기능을 공유하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

페이지와 같은 사용자 정의 Wordpress 게시물 유형을 만드는 가장 좋은 방법

분류에서Dev

읽기 전용과 쓰기 가능으로 분리 된 루트 파일 시스템을 만드는 가장 좋은 방법

분류에서Dev

문자열을 배열로 곱하는 가장 좋은 방법

분류에서Dev

awk / sed를 사용하여 JSON과 유사한 파일을 구문 분석하는 가장 좋은 방법

분류에서Dev

사전 키 + 값 + 조인 값으로 문자열 채우기를 사용하는 가장 좋은 방법

분류에서Dev

팔로우 한 사용자를 저장하는 가장 좋은 방법

분류에서Dev

공용 함수에서 개인 유형을 사용하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

XMPP 로스터에서 사용자 목록을 가져 오는 가장 좋은 방법은 무엇입니까?

분류에서Dev

이 "바로 가기 기능"을 사용하는 것이 좋은 방법입니까?

분류에서Dev

Python을 사용하여 부분 행렬에서 고유 요소의 수를 찾는 가장 좋은 방법

분류에서Dev

Python으로 Google 번역을 사용하는 가장 좋은 방법

분류에서Dev

응용 프로그램을 숨기고 복원하는 가장 좋은 방법

분류에서Dev

응용 프로그램을 숨기고 복원하는 가장 좋은 방법

분류에서Dev

Excel 추가 기능을 개발하는 가장 좋은 방법

분류에서Dev

모든 열을 문자열로 읽는 가장 좋은 방법

분류에서Dev

배열을 문자열로 채우는 가장 좋은 방법

분류에서Dev

이 트윗을 기반으로 한 사용자의 감정 분석 및 분류는? 트윗을 기반으로 사용자 (긍정적 또는 부정적)를 분류하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Rails : 사용자가 기본 리소스를 설정하도록 허용하는 가장 좋은 방법

분류에서Dev

Kubernetes 관리자로서 kubectl에 대한 사용자 인증을 처리하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Zend Framework에서 도구 기능을 사용하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Spark 또는 caseesndra를 사용하여 로그 파일을 쿼리하는 가장 좋은 방법

Related 관련 기사

  1. 1

    VSTO Excel 추가 기능 응용 프로그램에서 ActiveWorkbook을 관리하는 가장 좋은 방법

  2. 2

    GitHub를 사용하여 프로젝트에 새로운 기능을 추가하는 가장 좋은 방법

  3. 3

    사용자 기능을 저장하는 가장 좋은 방법은 무엇입니까?

  4. 4

    DOM을 사용하여 글자로 단어를 분할하는 가장 좋은 방법

  5. 5

    문자열을 용어 사전으로 구문 분석하는 가장 좋은 방법

  6. 6

    사용자 기술 방법을 구현하는 가장 좋은 방법-Rails 4

  7. 7

    사용자 기술 방법을 구현하는 가장 좋은 방법-Rails 4

  8. 8

    구성 요소간에 존재하는 서비스 사용 유형 스크립트 기능을 공유하는 가장 좋은 방법은 무엇입니까?

  9. 9

    페이지와 같은 사용자 정의 Wordpress 게시물 유형을 만드는 가장 좋은 방법

  10. 10

    읽기 전용과 쓰기 가능으로 분리 된 루트 파일 시스템을 만드는 가장 좋은 방법

  11. 11

    문자열을 배열로 곱하는 가장 좋은 방법

  12. 12

    awk / sed를 사용하여 JSON과 유사한 파일을 구문 분석하는 가장 좋은 방법

  13. 13

    사전 키 + 값 + 조인 값으로 문자열 채우기를 사용하는 가장 좋은 방법

  14. 14

    팔로우 한 사용자를 저장하는 가장 좋은 방법

  15. 15

    공용 함수에서 개인 유형을 사용하는 가장 좋은 방법은 무엇입니까?

  16. 16

    XMPP 로스터에서 사용자 목록을 가져 오는 가장 좋은 방법은 무엇입니까?

  17. 17

    이 "바로 가기 기능"을 사용하는 것이 좋은 방법입니까?

  18. 18

    Python을 사용하여 부분 행렬에서 고유 요소의 수를 찾는 가장 좋은 방법

  19. 19

    Python으로 Google 번역을 사용하는 가장 좋은 방법

  20. 20

    응용 프로그램을 숨기고 복원하는 가장 좋은 방법

  21. 21

    응용 프로그램을 숨기고 복원하는 가장 좋은 방법

  22. 22

    Excel 추가 기능을 개발하는 가장 좋은 방법

  23. 23

    모든 열을 문자열로 읽는 가장 좋은 방법

  24. 24

    배열을 문자열로 채우는 가장 좋은 방법

  25. 25

    이 트윗을 기반으로 한 사용자의 감정 분석 및 분류는? 트윗을 기반으로 사용자 (긍정적 또는 부정적)를 분류하는 가장 좋은 방법은 무엇입니까?

  26. 26

    Rails : 사용자가 기본 리소스를 설정하도록 허용하는 가장 좋은 방법

  27. 27

    Kubernetes 관리자로서 kubectl에 대한 사용자 인증을 처리하는 가장 좋은 방법은 무엇입니까?

  28. 28

    Zend Framework에서 도구 기능을 사용하는 가장 좋은 방법은 무엇입니까?

  29. 29

    Spark 또는 caseesndra를 사용하여 로그 파일을 쿼리하는 가장 좋은 방법

뜨겁다태그

보관