C# 3.5 で独自のシンプルで洗練された Web アプリケーション フレームワークを開発する予定です。私はいくつかのアイデアを持っていますが、それをどのように実装すべきかはまだベストプラクティスではありません. 多分あなたは助けることができますか?
私のアイデア:
- C# ライブラリ (DLL) です。
- XSLT をテンプレート言語として使用する必要があるため、XML をデータ/モデル層の出力にする必要があります。
- MySQL、SQL Server、ODBC など、さまざまなデータベースに接続する必要があります。
- コマンド デザイン パターンのように、コマンド ベースである必要があるため、そのコマンドにグループ化されたいくつかのパラメーターを含むコマンドを投稿して、「何か」を実行できます。
- 1 つの投稿からのすべてのコマンドとデータベース アクションは 1 つのトランザクションに含まれている必要があるため、すべてをロールバックできます
- セキュリティ/承認モデルが必要です (何が良いのですか?)
- /a/b/c が /?id=33 に解決されるように、何らかの URL 解決が必要です。
- プラグイン可能である必要があるため、特定のニーズを持つユーザー向けの Web アプリを作成する場合、ベース エンジン ライブラリを変更する必要はありません。
- 内部にキャッシングおよび/または圧縮技術が必要です
- 高速でスレッドセーフで、パフォーマンスが高い必要があります
- デバッグログが必要です
- XSLT への出力を動的にスクリプト化するために、IronPython のようなある種の動的スクリプトをデータ/モデル層に実装すると便利です。これにより、Visual Studio に入って DLL を調整しなくても、調整をすばやく行うことができます。
そのようなフレームワークのセットアップを開始するための最良の方法は何ですか? または、C# でこのようなフレームワークが既に存在しますか?
これは小さなアイデアの 1 つです。「Customer」テーブルと「Address」テーブルがあり、レコードをデータベースに追加して彼にメールするための html フォームをポストしたい場合、これらのフィールドを 1 つのポストアクションでポストする必要があります。
Customer.ACTION = add
Customer.Name = "John Smith"
Customer.Email = "john.smith@emailaddress.com"
Address.ACTION = add
Address.CustomerId = #Customer.ResultId#
Address.Street = "Mainstreet"
Address.Number = "1"
Mail.ACTION = send
Mail.AFTER = Customer
Mail.To = #Customer.Email#
Mail.From = "test@case.com"
Mail.Subject = "Welcome"
Mail.Body = "Welcome new customer!"
エンジンはポストを受信し、リフレクションによって、必要なコマンド (この場合は DatabaseCommand と MailCommand) のクラスを収集して実行します。ほら、並べ替えである種のキューイングを使用したいのです。この場合、顧客コマンドが最初である必要があり、その後にメール (Mail.AFTER を参照) および/またはアドレス (依存関係 #Customer.ResultId# を参照) が続きます。
このプロジェクトについてのあなたの考えは何ですか?
よろしく