C# (.NET 3.5)의 특정 데이터 구조를 가장 잘 설명하는 방법을 결정할 때 몇 가지 문제가 있습니다.상위 클래스 멤버에 액세스 할 수 있도록 C#에서 클래스 heirachy를 구조화하는 가장 좋은 방법은 무엇입니까?
명령 줄 프로그램의 입력을위한 텍스트 파일을 만드는 클래스 라이브러리를 만들어야합니다. 수십 개의 파일 형식이 있지만 대부분 머리글, 바닥 글 및 기타 몇 가지 속성이 있습니다.
그래서 파일은 다음과 같습니다
timestamp filename company
....lots of attributes that make up the file body....
footerdetail1 footerdetail2 footerdetail3
지금 파일 형식이 수십에서 정말 단지 세 고유의 머리글/바닥 글 콤보가 있습니다.
class BaseFileType {
public List<HeaderItems>;
public List<BodyItems>;
public List<FooterItems>;
FileType filetype;
String filename;
public BaseFileType1 (FileType filetype,String filename) {
this.filetype = filetype;
this.filename = filename;
// add stuff to the header list
// add stuff to the footer list
}
// some methods to find items in the header/ footer lists
}
class ActualFile1 : BaseFileType {
ActualFile() {
//add stuff to the bodyitems list
}
//some other generic methods
}
는 것은이
, 내가 생성자를 상속 할 :
그래서 나는 headerItems 및 footeritems의 대부분을 포함하는 부모 클래스를 확인한 다음 파생 클래스의 실제 파일 형식을 구현하려면 파생 클래스의 기본 클래스에서,하지만 내가 이것을 읽은 것에서 할 수 없습니다. 가장 좋은 전략은 무엇입니까?
내 작업에 대해 갈이, 심지어 가장 좋은 방법입니다 (부모 매개 변수) 기본 :
ActualFile() : 내가 그렇게처럼 내 파생 클래스의 생성자에서 기본 생성자를 호출 할 수 보았다
? 결국이 모든 파일 정보에 대한 최상의 데이터 구조를 찾고 있으므로이 클래스를 만들 때 자신을 반복 할 필요가 없습니다.
사람들에게 어떤 다른 대안이 효과가 있을까요? 하나의 FileFactory가 필요한 구조를 포함하는 클래스를 생성합니까?