有名なオープンソースコミュニティであるCommunityServer(CS)の抽象データベースの設計を学び、独自に考え、哲学的な観点から問題を考え、さらに抽象化し、最終的に非常に抽象的なユニバーサルデータベースとユニバーサルデータアクセス層を設計しました。
主な利点は次のとおりです。
1) 2 つの抽象テーブルを通じて、データ エンティティとエンティティ間の関係を保存します。
2) あらゆるデータ エンティティのフィールド拡張ニーズは、2 つの拡張フィールド設計方法によって実現され、拡張フィールドはデータベース レベルの並べ替えおよび検索機能をサポートします。拡張フィールドの追加は、通常のフィールドと大きな違いはなく、機能が追加されるだけです。 。
3) エンティティ間の関係が高度に抽象化されているため (最終的には水平関係と親子再帰関係に抽象化されます)、データベース アクセス層のインターフェイスは非常に汎用性が高く、エンティティ間のあらゆる関係に適応できます。この種のデザインは通常の言葉では表現できません。コードを読めば理解できるかもしれません。
4) プロバイダー モード、カスタム クエリを実装するための SQL の動的構築、キャッシュ、多言語リソース ファイルの設計、カスタム URL の書き換え、Ajax 関数など、CS の多くの優れた設計を吸収しました。
5) 優れた操作性能;
6) このフレームワークのいくつかの機能をデモンストレーションするためのデモとして、記事公開システムの単純なバックグラウンド管理システムを使用します。
7) 現在、フレームワークは継続的に改善および最適化されています。 。
使用上の注意:
まずSQLデータベースファイルをDBの下にアタッチします。
1) データベースリンク情報が web.config ファイルに正しく設定されている必要があります
このデータベースリンク文字列。
2) 次の例のように、ページ アドレスが書き換えられ、実ページが配置されます。
ControlPanelArticle ディレクトリの Urls.xml ファイルに、URL アドレス書き換え構成情報が配置されます。
3) 記事管理モジュールをデバッグする場合、コードは次のとおりです。
AppCodeControlsControlPanelArticle
ディレクトリ内の CS ファイルにブレークポイントを設定し、プロセスにアタッチしてデバッグします。
このデモは Web サイトとして設計されておらず、ライブラリの形式であるため、プロセスにアタッチすることによってのみデバッグできます。
さらに、記事のテストデータを簡単に追加するためのリンクも作成しました。アドレスは次のとおりです。
http://localhost/createarticles.aspx?count=100
このうち count=100 は 100 個の記事を作成することを意味します。これをゼロより大きい任意の値に変更して、必要なテスト データを作成できます。
20,000 個のデータでテストした結果、それ以上のデータはテストされていないことがわかりました。
このフレームワークのパフォーマンスはかなり優れているはずだと思います。私が設計したとき、多くの部分はパフォーマンスのために特別に設計されました。
拡大する