이번 주에는 며칠간 시간을 내어 작은 전화번호부 프로그램을 개발했습니다.
프로그램이 작고 단순하고 보기 흉하기는 하지만 실제로 제가 개발한 최초의 완전하고 사용 가능한 앱입니다. 컨셉, 코딩, 간단한 테스트, 최종 설치 패키지까지 모두 한 사람이 완료합니다. 이전에 C# 및 Java 코드(수만 줄)와 수많은 가젯을 C 및 C++로 작성했지만 대규모 프로젝트의 일부만 완료했거나 "Hello world!" "는 알고리즘의 타당성을 테스트합니다.
프로그램 기본 정보:
개발 도구: VS2010;
대 소: 설치 패키지 500k;
유효한 코드: 약 500줄;
아키텍처: .NET 4.0 클라이언트 Prifile;
주요 기술: XML 읽기 및 쓰기, WPF 인터페이스 제작;
개발 시간: 20시간 이내, 15시간 예상 남음
다음은 스크린샷입니다:
로그인
개인 구성 및 등록
메인 인터페이스
비록 작은 프로그램이지만, 몇 가지 경험을 정리해서 적어두었는데, 아마 나중에 유용하게 쓰일 것 같습니다.
1. 먹을 수 있는 것보다 더 많은 것을 탐내거나 더 많은 것을 추구하지 않도록 하세요. 눈부신 인터페이스, 참신한 구조, 이전에 해본 적 없는 새로운 기술을 사용하고 싶었지만 결과는 막다른 골목이었습니다. 이번에는 이를 염두에 두고 기능을 최대한 단순화하고, 인터페이스도 최대한 단순하게 만들어 마침내 올바른 결과를 얻었습니다.
2. 먼저 기술 테스트를 진행한 후 실제 개발을 진행합니다. 이 프로그램에서는 핵심 기술과 아이디어가 실현 가능한지 테스트하기 위해 3~4개의 작은 프로그램을 작성하고 완료 후 개발을 진행합니다.
3. 레이어와 블록으로 전개하고 최종적으로 조립합니다. 각 계층 간의 독립성을 보장하면 개발이 용이해질 뿐만 아니라 향후 유지 관리 및 업그레이드도 용이해집니다. 데이터 로직과 인터페이스를 분리하면 향후 인터페이스나 기본 로직을 별도로 개선할 수 있습니다. 상위 수준 인터페이스를 개발할 때 인터페이스에 필요한 가짜 데이터를 제공하기 위해 일련의 정적 메서드를 사용하는 TestData 클래스가 사용되었습니다. 하위 레이어 개발 시 콘솔 프로그램을 사용하였다. 조립하기 전에 둘 다 거의 동일해질 때까지 기다리십시오.
4. Run-Through를 우선시하고 단계별로 개선해 나가기 위해 노력합니다. 처음에 인터페이스는 인터페이스 중앙에 인터페이스 이름이 적힌 몇 개의 버튼 에 불과했습니다. 버튼을 클릭하면 다른 인터페이스로 이동하거나 버튼 이름을 표시하는 메시지 상자가 나타나는 두 가지 결과만 있습니다. 모든 함수를 먼저 작성하고, 서둘러 구현하지 마세요. null이나 새 인스턴스 또는 테스트 데이터에서 가져온 가짜 데이터를 반환하세요. 등등을 실행한 후 하나씩 구현해 보세요. 인터페이스는 조금씩 풍성해지며, 마지막으로 위치나 크기 조정과 같은 사소한 것들이 있습니다.
5. 앱을 만들었는데 설치패키지를 못받았어요.나중에 VS를 재설치했는데 암호화, 설치환경 모니터링, 사용자맞춤화 등 설치패키지가 방대하고 심오하다는 걸 알게 됐어요 설치아, 롤백, 설치 디렉터리 선택, 설치 전 확인, 데이터 압축, 설치 진행 상황 추적, 이전 버전 복구 또는 제거 감지...
6. 쓰기 프로그램은 반복이고, 이는 결코 실제 값에 도달할 수 없습니다. 두 번의 반복 결과가 충분히 작은 경우에만 중지할 수 있습니다. 이는 해결책으로 간주됩니다.
향후 개선 사항에 대해(아마도 향후) 발생):
1. 데이터 액세스가 향상될 수 있습니다. 재사용을 위해 IQueryable 유형을 사용하는 것을 고려할 수 있습니다.
2. 인터페이스가 개선되어야 합니다.
3. 컨트롤러의 역할을 개선해야 하며 BL을 제거하고 여러 팩토리로 교체
4. 레코드를 그룹화
할 수 없습니다. 5. 예외 처리문제
6. 데이터 액세스는 IDataAccess라는 공통된 핑계로 격리될 수 있습니다. 공장에서는 인터페이스만 호출하고 데이터 액세스 클래스는 호출하지 않으므로 데이터 액세스 확장이 용이합니다. 다양한 저장 방법
7. 가져오기 내보내기
【관련 추천】
위 내용은 작은 전화번호부 기능의 미니 프로그램 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!