이것은 프로그래밍 문제가 아니며 대신 설계 문제에 관한 것입니다.cmdlet 디자인 : 매개 변수 전달 : 파이프 라인 또는 인라인 매개 변수?
데이터가 json에 저장된다고 가정합니다.
예를 들어, Get-Person "John" | Get-Employer
또는 Get-Employer -Person "John"
두 방법은 요한의 고용주를 돌아 본다, 전 하나는 파이프 라인을 사용하고 나중에 하나는 인라인 매개 변수를 사용합니다. 나는 때때로 혼란 스럽다 : 각각의 장점과 단점은 무엇인가? 너희들이 설계 할 때, 그것들 각각을 사용하기 위해 당신이 선호하는 것은 무엇인가?
내가 파이프 라인을 사용하는 유일한 이유는 매개 변수 값을 평가해야하는 경우 변수를 사용하여 저장한다는 것입니다.
누구나이 질문에 대한 의견이 있습니까?
이와 같이 좋은 함수 설계로 둘 다 처리 할 수 있으므로 사용자가 원하는 것을 선택할 수 있습니다. 그러나 FYI와 마찬가지로 귀하의 사례가 동일하지 않습니다. 처음에는 객체를 전달하고 (두 번째 객체는 "john"객체의 "person"객체입니다), 두 번째 객체는 그의 이름 만 사용합니다. ''존 '| Get-Employer'가 올바른 대안이 될 것입니다. –
@Graimer에 동의합니다. cmdlets를 사용하는 소비자는 필자에게 두 가지 방법이 필요합니다. 필요할 때 하나의 값 모음이나 다른 원본의 컬렉션 (또는 단일 값)에 파이프를 전달하도록하겠습니다. 각 방법은 다양한 상황에서 유용 할 것입니다. – alroc