J'ai appris la conception de la base de données abstraite de la célèbre communauté open source CommunityServer (CS), réfléchi de manière indépendante, réfléchi au problème d'un point de vue philosophique, puis abstrait et finalement conçu une base de données universelle très abstraite et une couche d'accès universelle aux données.
Les principaux avantages sont :
1) Stockez toutes les entités de données et les relations entre les entités via deux tables abstraites ;
2) Les besoins d'expansion des champs de toute entité de données sont satisfaits grâce à deux méthodes de conception de champs étendus, et les champs étendus prennent en charge les fonctions de tri et de recherche au niveau de la base de données. L'ajout de champs étendus n'est pas très différent des champs ordinaires, il ajoute simplement une fonctionnalité ; .
3) En raison du degré élevé d'abstraction de la relation entre les entités (éventuellement abstraite en relations horizontales et récursives parent-enfant), l'interface de la couche d'accès à la base de données est très polyvalente et peut s'adapter à toute relation entre entités. Ce type de conception ne peut pas être exprimé avec des mots ordinaires ; peut-être que vous le comprendrez après avoir lu le code ;
4) Absorbé de nombreuses bonnes conceptions dans CS, telles que le mode fournisseur, la construction dynamique de SQL pour implémenter des requêtes personnalisées, la mise en cache, la conception de fichiers de ressources multilingues, la réécriture d'URL personnalisée, les fonctions Ajax, etc.
5) Excellentes performances de fonctionnement ;
6) Utiliser un simple système de gestion d'arrière-plan du système de publication d'articles comme démonstration pour démontrer certaines fonctions de ce cadre ;
7) À l'heure actuelle, le cadre est encore amélioré et optimisé en permanence. .
Précautions d'emploi :
Attachez d'abord le fichier de base de données SQL sous DB
1) Les informations sur le lien de base de données doivent être correctement définies dans le fichier web.config
Cette chaîne de lien de base de données.
2) L'adresse de la page a été réécrite et la vraie page est placée, comme dans l'exemple suivant :
Dans le répertoire ControlPanelArticle, les informations de configuration de réécriture d'adresse URL sont placées dans le fichier Urls.xml.
3) Si vous souhaitez déboguer le module de gestion des articles, le code est dans
AppCodeContrôlesControlPanelArticle
Définissez un point d'arrêt dans le fichier CS dans le répertoire, puis déboguez en vous attachant au processus.
Parce que cette démo n'est pas conçue comme un site Web, mais sous la forme d'une bibliothèque, elle ne peut être déboguée qu'en s'attachant au processus.
De plus, j'ai également fait un lien pour ajouter rapidement des données de test d'article, l'adresse est :
http://localhost/createarticles.aspx?count=100
Parmi eux, count=100 signifie créer 100 articles. Vous pouvez le remplacer par n'importe quelle valeur supérieure à zéro pour créer les données de test dont vous avez besoin.
Après mon test avec 20 000 données, j'ai trouvé que les performances sont bonnes. Plus de données n'ont pas été testées.
Je pense que les performances de ce framework devraient être plutôt bonnes. Lorsque je l'ai conçu, de nombreuses parties ont été spécialement conçues pour les performances.
Développer