텍스트 파일을 파싱해서 클래스(이름은 Chart임)를 뱉는 함수를 만들고 싶은데
그 함수를 어디다 정의해야할지 모르겟음.
1. Chart 안에 static 함수로 정의한다.
Chart chart = Chart::from_file(filename);
이런식으로 되니까 최종적으론 코드가 존나 보기 좋아지는데
이렇게하면 Chart 클래스에서 파싱도 해야되니까 클래스가 쓸데없이 커지게됨
2. 팩토리 클래스를 만든다.
대충 파서 클래스를 만들어서 거기안에 멤버함수로 parse_from_file()같은 식으로 만들면 될거같은데
근데 이렇게 하면
Parser parser;
Chart chart = parser.parse_from_file(filename);
이렇게 두줄써야되서 좀 기분이 안좋고
Parser 객체는 한번 파싱 함수 호출하고 버리거나
파싱 함수를 호출할때마다 매번 내부 변수를 초기화해야 하는데 둘다 거지같음
이거 두개밖에 생각이 안나는데 둘다 좆같음
더좋은 해결법 있으면 알려주셈
파싱하는 내부 클래스를 만들고, 스태틱으로 호출하면 인스턴스 만들어서 작업하고 결과 반환하고 dispose - dc App
그냥 스태틱에 때려박으면 스레드 관련해서 머리아파질듯 - dc App
parser를 스태틱으로 쓰면?
전자
클래스 커지는거 너무 두려워하면 아무것도 못넣음
전자
chart 클래스를 여러 곳에서 사용할 때, 파서 코드까지 굳이 인클루드 하고 싶지는 않을 거임. 그러니 chart와 parser를 각각의 파일로 분리해서 넣어주는 게 어떰?