c#에서 interface로 파일 형식을 구분한 다음에
txt, json, xml같은 파일을 읽어오거나 저장하고 싶은데
예를 들어
public interface Format
{
string Name { get; set; }
List<string> text { get; set; }
int age { get; set; }
}
이렇게 선언해두고 파일 형식에 맞춰서 상속받고 사용하면 되나요?
예제파일도 검색해보고싶은데 키워드로 검색해도 잘 모르겠네요 ㅠㅠ
1개의 좋아요
답변을 드리기에는 정보가 부족한 것 같습니다.
인터페이스를 이용해서 무엇을 달성하고자 하나요?
가령 동일한 정보
를 다양한 포멧에서 읽거나 저장하고 싶으신 건가요?
만약 그게 맞다면 예시로 보여주신 그런 형태는 아닙니다.
정보는 보통 엔터티 클래스 형태로 두고 어떤 포멧이든 동일한 값 형태로 정의해야 합니다.
그리고 인터페이스는 파일에서 읽어서 정보로 변환하는 형태면 괜찮은 인터페이스 디자인이 됩니다.
다음은 예시 입니다.
| 데이터 정의
// record를 쓴 이유는 특별한 이유는 없습니다.
record Data(string Name, List<string> Text, int Age);
| 인터페이스 정의
// 인터페이스 설계의 정답은 없습니다만 이런 느낌으로 만들 수도 있습니다.
interface IStorage<T>
{
StorageType Type { get; }
void Save(string filename, T data);
T Load(string filename);
}
enum StorageType
{
RawText,
Json,
Xml
}
그럼다음 Text, Json, Xml용 IStorage를 구현해서 인스턴스화 한 후 IStorage 형식으로 값을 가져오거나 쓸 수 있습니다.
2개의 좋아요
동일한 정보를 txt, json, db , ftp등을 생각해서 설계를 하고싶다는 말이였습니다!
답변감사합니다 좀더 공부를 해봐야할것같네요 ㅎㅎ 감사합니다!
1개의 좋아요