유명한 오픈소스 커뮤니티인 CommunityServer(CS)의 추상적인 데이터베이스 설계를 배우고, 독립적으로 생각하고, 문제를 철학적 관점에서 생각하고, 더욱 추상화하여 최종적으로 매우 추상적인 범용 데이터베이스와 범용 데이터 액세스 레이어를 설계했습니다.
주요 장점은 다음과 같습니다.
1) 두 개의 추상 테이블을 통해 모든 데이터 엔터티와 엔터티 간의 관계를 저장합니다.
2) 모든 데이터 개체의 필드 확장 요구 사항은 두 가지 확장 필드 설계 방법을 통해 실현되며 확장 필드는 데이터베이스 수준의 정렬 및 검색 기능을 지원합니다. 확장 필드 추가는 일반 필드와 크게 다르지 않습니다. .
3) 엔터티 간의 관계에 대한 높은 수준의 추상화(결국 수평 및 상위-하위 재귀 관계로 추상화됨)로 인해 데이터베이스 액세스 계층의 인터페이스는 매우 다양하며 엔터티 간의 모든 관계에 적응할 수 있습니다. 이런 종류의 디자인은 일반적인 말로 표현할 수 없습니다. 코드를 읽고 나면 이해할 수 있을 것입니다.
4) 제공자 모드, 동적으로 SQL을 구성하여 사용자 정의 쿼리 구현, 캐싱, 다중 언어 리소스 파일 디자인, 사용자 정의 Url 재작성, Ajax 기능 등과 같은 CS의 많은 좋은 디자인을 흡수했습니다.
5) 우수한 작동 성능;
6) 기사 게시 시스템의 간단한 배경 관리 시스템을 데모로 사용하여 이 프레임워크의 일부 기능을 보여줍니다.
7) 현재 프레임워크는 지속적으로 개선되고 최적화되고 있습니다. .
사용상의 주의사항:
먼저 DB 아래에 SQL 데이터베이스 파일을 첨부합니다.
1) web.config 파일에 데이터베이스 링크 정보가 올바르게 설정되어 있어야 합니다.
이 데이터베이스 링크 문자열입니다.
2) 다음 예와 같이 페이지 주소가 다시 작성되고 실제 페이지가 배치됩니다.
ControlPanelArticle 디렉터리에서 URL 주소 다시 쓰기 구성 정보는 Urls.xml 파일에 저장됩니다.
3) 기사 관리 모듈을 디버그하려는 경우 코드는 다음과 같습니다.
AppCodeControlsControlPanelArticle
디렉터리의 CS 파일에 중단점을 설정한 후 프로세스에 연결하여 디버그합니다.
본 Demo는 WebSite 형태로 제작되지 않고 Library 형태로 제작되었기 때문에 프로세스에 연결해야만 디버깅이 가능합니다.
또한 기사 테스트 데이터를 빠르게 추가할 수 있는 링크도 만들었습니다. 주소는 다음과 같습니다.
http://localhost/createarticles.aspx?count=100
그 중 count=100은 100개의 기사를 생성한다는 의미입니다. 이를 0보다 큰 값으로 변경하여 필요한 테스트 데이터를 생성할 수 있습니다.
20,000개의 데이터로 테스트한 결과 성능이 좋은 것으로 나타났습니다. 더 많은 데이터는 테스트되지 않았습니다.
저는 이 프레임워크의 성능이 꽤 좋을 것이라고 생각합니다. 제가 설계할 때 많은 부분이 성능을 위해 특별히 설계되었습니다.
확장하다