2016-09-15 8 views
0

이 질문은 따르는 규칙이나 접근 방법에 대해 자세히 설명합니다.메서드의 많은 인수 대 특정 인수

  • 첫 번째 쌍 : 이름 및 성
  • 초 쌍 : 부서 및 지정
  • 그래서, 두 쌍 뷰에 4 개 개의 입력 텍스트 필드가있는에 시나리오를 가지고, 그들이 말할 수

검색 버튼이 하나뿐입니다. 여기서 사용자가 첫 번째 쌍을 입력하기 시작하면 두 번째 쌍이 비활성화/편집 할 수 없으며 반대의 경우도 마찬가지입니다. 사용자가 검색 버튼을 클릭하면 요청이 일부 컨트롤러/서블릿/액션으로 이동합니다. 이제 비즈니스 로직에서이 검색을위한 메소드를 작성하는 방법은 무엇이되어야합니다.

  1. 4 개 필드 모두에 대해 단일 메서드를 작성한 다음 인수 값을 확인하고 수행 할 쿼리를 결정하십시오.
  2. 지정된 쌍의 매개 변수가있는 두 개의 메서드 만 작성하십시오.
+1

지금까지 시도한 것을 보여주십시오. 스택 오버플로는 코드 작성 서비스는 아니지만 적어도 사용자가 직접 문제를 해결하려고 시도하면 사람들이 기꺼이 도와줍니다. [Minimal, Complete, Verifiable 예제를 만드는 방법] (http://stackoverflow.com/help/mcve) 및 [어떻게 좋은 질문을합니까?] (http://stackoverflow.com/help)를 참조하십시오./how-to-ask). – sarcom

+0

첫 번째 줄에서 강조했듯이 이는 코드 규칙에 관한 질문과 같습니다. 그게 내가 왜 당신에게 어떤 코드를 보여줄 수 없는지. 노력과 연구에 관해서는 위에서 두 가지 점을 알 수 있습니다. – prisi

답변

1

로버트 마틴 (Robert Martin)이 가르친 것처럼 "깨끗한 코드 (Clean Code)"학교가 더 좋은 경우가 적어집니다.

귀하의 경우 : 어떤 종류의지도를 전달하는 최선의 방법이 아닌가요? 키는 다양한 검색 "카테고리"일 수 있습니다. 값은 해당 값입니다. 그런 식으로 항상 하나의 매개 변수 만 있습니다. 비즈니스 로직은 처음부터 모든지도 항목을 처리하기 위해 작성되었습니다.

그런 식으로 인터페이스를 변경하지 않고도 범주를 추가/제거 할 수 있습니다.

편집 : "개념적"2 대 4 매개 변수의 문제에 대해 여전히 묻고 있습니다. 그것을 위해 나는 제안 할 것이다 : 약간 연구를하십시오; here 공부를 시작할 수 있습니다!

+0

우수 ... !!! – prisi

+0

그러나 @ benjamin-judas가 제안한대로 컬렉션이나 컨테이너를 사용할 수 없다면 무엇을 원하겠습니까? 왜 그런가요? – prisi

+0

나는 인정해야한다 : 나는 당신의 의견을 이해하지 못한다. 문제에 인위적인 제약 조건을두면, 무엇이든 더 어려워집니다. 보시다시피, 당신은 거기에 모든 레이어와 함께 당신의 "컨텍스트"있어요. 이것은 매우 간단합니다 : 고정 된 구조를 사용하면 잠재적 인 변화가 코드 변경을 의미합니다. 다시 말해, 다른 시나리오에서는 그러한 질문을하는 것이 합리적 일 수 있습니다 (2 parms 또는 4, 또는 무엇이든). 그러나 여기에는 없습니다. 그래서, 본질적으로 : 나는 그 의견에 대답 할 수 없다. 내 두뇌는 친절하게도 더 나쁜 것을 결정하기를 거절합니다. "해충 또는 콜레라". 그러나 나는 그것에 대한 최종 견해로 나의 대답을 업데이트했다. – GhostCat

0

1 위는 최악의 해결책입니다. 네 개의 값에 대한 간단한 컨테이너를 작성하고 해당 컨테이너를 하나의 특정 함수에 전달합니다. 그렇게하면 해당 컨테이너에 유효성 검사 로직을 넣고 그 기능을 단순히 수행 할 수 있습니다.