나는 전기 기술자이고 내가 무슨 짓을하는지 모르겠습니다. 내 코드의 미래 관리자를 저장하십시오.
최근에는 기능이 논리적으로 "절차 적"인 여러 개의 작은 프로그램 (C #)을 작업하고 있습니다. 예를 들어, 그중 하나는 다른 데이터베이스에서 정보를 수집하고 해당 정보를 사용하여 일종의 요약 페이지를 생성 한 후 인쇄 한 다음 종료하는 프로그램입니다.
이 모든 것에 필요한 논리는 약 2000 라인입니다. 나는 확실히 그 모든 것을 하나의 것으로 채우고 이전의 일부 개발자들이했던 것처럼 main()
"정리"하고 싶지 않다 #region
.
다음은 내가 만족스럽게 시도하지 않은 것들입니다.
DatabaseInfoGetter, SummaryPageGenerator 및 PrintUtility와 같이 거친 각 기능에 대해 정적 유틸리티를 만듭니다. 주요 기능을 다음과 같이 표시하십시오.
int main()
{
var thisThing = DatabaseInfoGetter.GetThis();
var thatThing = DatabaseInfoGetter.GetThat();
var summary = SummaryPageGenerator.GeneratePage(thisThing, thatThing);
PrintUtility.Print(summary);
}
하나의 프로그램을 위해 나는 심지어 인터페이스와 함께 갔다
int main()
{
/* pardon the psuedocode */
List<Function> toDoList = new List<Function>();
toDoList.Add(new DatabaseInfoGetter(serverUrl));
toDoList.Add(new SummaryPageGenerator());
toDoList.Add(new PrintUtility());
foreach (Function f in toDoList)
f.Do();
}
이 중 어느 것도 옳지 않다. 코드가 길어짐에 따라이 두 가지 접근 방식이 모두 추악 해지기 시작합니다.
이와 같은 것을 구성하는 좋은 방법은 무엇입니까?