많은 반복자 또는 데이터 판독기가 DataReader, XmlReader, IEnumerator, 그 이상이 더 많다는 것을 알고 있습니다. (생각 해보니).대부분의 경우에만 순회가 전달되는 이유는 무엇입니까?
이유는 무엇입니까? forward-only 일반적으로 사용자 정의 요구에 맞는 데이터 반복자를 만들 때 일반적으로 양쪽 탐색에 대한 지원을 추가해보십시오. 대부분의 경우 역방향 이동이 필요하지 않지만 때로는 필요성이 있으므로 결국에는 데이터를 유지하는 데 temp
변수를 작성해야합니다.
그래서 제 질문은 다음과 같습니다
왜 대부분의 데이터 반복자 앞으로 만 있습니다
는 이전 버전에 이동 반복자/데이터 리더를 만드는 내가 잘못. 왜 프레임 워크가 내장 된 데이터 반복자 (Iterator)에 대한 지원을하지 않는가?
- 은 우리가 어떤 심각한 성능 단점 또는 단지 하지 간주 좋은 디자인가 가지고 같은 기능을 가지고 있습니까.
이 질문은 나에게 처음부터 많이 도청하지만 이리와 많은 개발자들이 뒤로 이송 때때로 유용 할 수 있음을 나와 함께 동의 할 수있다 믿는다을 부탁 해요, 그래서 만족스러운 대답을 얻었다 적이있다 .
당신은 분명히 그 시나리오에 맞습니다.하지만 큰 파일에서 데이터를 읽는 동안 문제가 될 수 있습니다. 우리가 조금 뒤로 읽는다면 .. 논리는 포인터를 몇 비트 뒤로 이동시키고 다시 읽는 것과 같습니다. 물론 조금 더 많은 코드를 작성해야 할 것입니다. 그래서이 디자인에서 무엇이 잘못 될 수 있습니까? –
아이디어는 기본적으로 모든 것을 위해 작동하는 하나의 일반적인 기본 접근 방식을 갖는 것입니다. 특수 시나리오 (역방향 읽기 또는 무작위 액세스와 같은)에서 다른 액세스 구성표를 사용하지 못하도록 막는 것은 없습니다 – Foxfire
기본 SRP :). 중요하지 않은 기능을 객체에 추가하지 마십시오. 또한 - 글 머리 기호 4가 마음에 든다. 필요할 경우 버퍼링을 추가하기가 쉽다. – Goran