문제

MVC에서 작업에 대한 좋은 명명 규칙을 확립한 사람이 있습니까?나는 구체적으로 ASP.net MVC를 보고 있었지만 일반적인 질문입니다.예를 들어 로그인 화면을 표시하는 작업(Login)과 해당 페이지의 로그인 요청을 처리하는 작업(LoginTest)이 있습니다.나는 이름에 관심이 없고 작성해야 할 응용 프로그램이 많이 남아 있습니다.

도움이 되었습니까?

해결책

MS의 Rob Conery는 작업에 대한 몇 가지 유용한 RESTful 스타일 이름 지정을 제안했습니다.

* Index - the main "landing" page. This is also the default endpoint.
* List - a list of whatever "thing" you're showing them - like a list of Products.
* Show - a particular item of whatever "thing" you're showing them (like a Product)
* Edit - an edit page for the "thing"
* New - a create page for the "thing"
* Create - creates a new "thing" (and saves it if you're using a DB)
* Update - updates the "thing"
* Delete - deletes the "thing"

(포럼의 경우) 라인을 따라 URL이 생성됩니다.

* http://mysite/forum/group/list - shows all the groups in my forum
* http://mysite/forum/forums/show/1 - shows all the topics in forum id=1
* http://mysite/forums/topic/show/20 - shows all the posts for topic id=20

MVC용 RESTful 아키텍처에 대한 Rob Conery의 설명

다른 팁

나는 다음을 찾았습니다. Stephen Walther의 블로그 게시물 일관된 명명 체계를 찾는 데 유용합니다.그는 또한 그가 설명하는 몇 가지 독특한 예외를 제외하고 REST 스타일 명명 체계에서 파생되었습니다.

Rails에는 CRUD 작업에 대한 좋은 작업 명명 규칙이 있습니다. 외부에서 내부로 라우팅하는 레일.

HTTP Verb Path Controller#Action Used for GET /photos photos#index display a list of all photos GET /photos/new photos#new return an HTML form for creating a new photo POST /photos photos#create create a new photo GET /photos/:id photos#show display a specific photo GET /photos/:id/edit photos#edit return an HTML form for editing a photo PATCH/PUT /photos/:id photos#update update a specific photo DELETE /photos/:id photos#destroy delete a specific photo

이는 기본적으로 다음 업데이트입니다. 폴 섀넌의 답변, 그의 출처 (Rob Conery)는 암묵적으로 자신의 목록을 레일에서 복사했다고 말합니다.

내장된 Django 액션 접미사 _done.따라서 LoginDone은 로그인(ASP.NET MVC 카멜 케이스 스타일)을 처리하는 페이지가 됩니다.

컨트롤러 작업 이름 지정에 사용하는 규칙은 일관성이 있고 작업하는 사람들이 쉽게 이해할 수 있는 한 상당히 관련이 없습니다.

로그인 작업의 경우 LoginDone은 괜찮고 마찬가지로 ProcessLogin도 이해하기 쉬우므로 편안하다고 느끼는 규칙을 사용하세요.

개인적으로 저는 Login과 ProcessLogin을 선호합니다. LoginDone은 Action이 수행하는 작업에 대해 약간 오해를 불러일으킬 수 있기 때문입니다. 이는 물론 Action이 사용자의 자격 증명에 반응하고 유효한지 여부를 확인한다는 가정입니다.그런 다음 로그인이 성공하면 LoginDone이라는 다른 Action으로 전달하고, 실패하면 LoginFailed로 전달할 수 있습니다.

스티븐 월터의 게시물 ASP.NET MVC 팁 #11 - 표준 컨트롤러 작업 이름 사용 아마도 명명 규칙에 관해 당신을 명확히 할 것입니다 MVC Action 명명 규칙...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top