저는 같은 인터페이스를 통해 지불 프로세서를 구현할 수있는 지불 라이브러리를 만들고 있습니다. 지금 가지고있는 문제는 프로세서에 공급되는 데이터의 방식을 개선하고 싶습니다. 지금은 배열이고 나는 그 배열에 만족하지 않습니다. 문제는 사전에 모든 필드를 알지 못하면 통지로 끝나거나 프로세서 코드 자체에 지옥이 필요하다는 것입니다. 아이디어는 응용 프로그램마다 다르며 프로세서와 함께 작동하도록하지만 프로세서가 필요한 데이터 피드를 확보하도록하기 때문에 모든 종류의 데이터 구조를 취할 수 있어야합니다.API 인터페이스 우수 사례 : 배열 또는 객체를 전달하여 작업 하시겠습니까?
내 아이디어는 이제 그것을 개체로 변경하는 것입니다. 객체는 모든 프로세서가 필요로하고 일반적으로 공통으로 사용하는 제한된 필드 집합과 함께 제공되지만 객체는 추가 필드를 가져올 수 있도록 확장 될 수 있습니다.
그 이점은 지불 객체가 전달되도록 프로세서에서 유효성을 검사 할 수 있고 예외를 throw하지 않으면 모든 필수 필드를 구현하는지 확인할 수 있다는 것입니다.
이것이 좋은 접근 방법인가, 아니면 모든 프로세서가 전달 된 데이터에 의존 할 수 있는지 확인하는 더 나은 방법과 실패한 방법이 있습니까?
Downvoted? 몇 초 만에? WTF? 사람들은 이유를 증명하지 않고 투표하기 전에 제목 외에 내용을 읽는가? – burzum
그 질문은 여기에 있으니? WTF? 하늘에서 구멍을 묻기 전에 스스로 혼자하는 것 외에 FAQ를 읽는 사람이 있습니까? 죄송합니다. 아이러니하지만 질문에 실망합니다.PHP에서는 배열이 객체와 거의 같을 수 있으므로 두 배열 사이의 차이점을 구체화해야합니다. 그리고 당신이 여기에서 공유하지 않는 많은 상황에서 두 가지가 더 낫다는 것에 달려 있습니다. 그러므로 건설적인 것이 아니고 요구하는 매우 주관적인 방법. 당신은 대답의 품질에도 비춰 보입니다. – hakre
저는 지금까지 네 가지 답변 중 두 가지로 꽤 괜찮습니다. – burzum