2013-02-15 2 views
-1

필자는 serialization을 처음 사용합니다. 바보 같은 질문이 있습니다. BinaryFormatter의 이름이 BinaryFormatter와 BinarySerializer가 아닌 이유는 무엇입니까?BinaryFormatter의 이름이 BinarySerializer가 아닌 tha 인 이유는 무엇입니까?

더 구체적으로 말하자면 직렬화를 수행하는 경우 BinarySerializer가 아닌 이유는 무엇입니까? 데이터의 직렬화 이외에 포맷터라고해야하는 것은 무엇입니까?

+0

하나는 역 직렬화입니다. –

+0

하지만 BinarySerializer가되어야합니다. 왜 포맷터입니까? – Debdeep

답변

2

이 아닌입니까? BinarySerializer은 왜 더 좋은 이름이 될까요?

API 디자인 팀의 심의에 익숙하지 않았지만 검색된 데이터의 형식을 지정하거나 바이트 스트림으로 푸시 아웃하기 때문에 "포매터"라고 생각합니다. 데이터를 직렬화 및 비 직렬화 할 때 포맷터를 도우미 객체로 사용합니다.

또한 동일한 명명 체계를 따르는 SoapFormatter class이 있으며이 두 클래스는 모두 System.Runtime.Serialization.Formattersnamespace에 정의되어 있습니다. 그것은 적어도 XmlSerializer과 일관성했을, 그리고 등 (이상) DataContractSerializer, JavaScriptSerializer는, 아마도 그들은이 원격에서 사용 되었기 때문에 다른 느꼈다, 그러나 그것은 않습니다 궁극적으로 무엇을 -

+0

그런 다음 XmlSerializer가 XmlFormatter가 아닌 이유는 무엇입니까? – Debdeep

+0

단순한 직렬화 그 이상입니다. 직렬화를 위해 2 진 데이터를 형식화 할 수는 있지만, 다른 목적으로 2 진 데이터를 형식화 할 수도 있습니다. 이론적으로 적어도 BinaryFormatter 클래스는이 두 가지를 모두 수행합니다. –

+0

그래서 항상 직렬화되는 것은 아닙니다. 명확한 예제를 제공해 주시겠습니까? – Debdeep

1

는 개인적으로 난 당신과 동의 직렬화 및 직렬화입니다.

그러나 : 의 이름 지정은 어렵습니다.입니다. 아마도 그것은 그처럼 간단합니다.

+0

Marc ... 고마워 Marc ... Atleast 나는이 혼란으로 고통받는 유일한 사람이 아니라는 것을 깨달았습니다 ... 그리고 Cody Gray에 관한 나의 관찰만큼 그는 직렬화를 전혀 이해하지 못하고, 글쓰기를 위해 무언가를 썼습니다 !! – Debdeep

+1

@ user1401198 조금 무례한 (코디쪽으로) 불필요합니다. 여러면에서이 두 용어는 상당히 상호 교환 가능합니다. 이 경우의 이름은 일관성이 없으며 정확하지는 않습니다. –

+0

무례한 것은 아무것도 없다. .. 그는 사람을 잘못 인도하고있다. .. 그는 멋지지 않다. .. – Debdeep

관련 문제