4

AOP標準を適用できるSQLServerインスタンス(2008以降)にインストールできる、オープンソースまたはその他のライブラリはありますか?開発スタッフ全体でテンプレートに横断的関心事を強制することは絶対に避けたいと思います。AOPが利用可能であれば、それが最良の選択肢のようです。

まだ存在しない場合は、自分でロールしてみます。

編集:

いくつかの例は、ミックスイン特性などの特定の種類のテーブルを作成するためにテーブルをサブクラス化する場合があります。私は多くの監査要件があるデータウェアハウス環境にいるので、両耳側性テーブルをたくさん作成します。持っているのは素晴らしいでしょう

CREATE BITEMPORAL TABLE

トランザクションと有効時間を追加し、それらのテーブルに対してCRUDステートメントを変更するステートメント。(はい、ビューとトリガーでこれを実行できることはわかっています。)達成するのが難しいのは、次のような特定のロギングまたはトランザクション特性を持つストアドプロシージャです。

CREATE PROC FOO /* VERBOSE, ATOMIC, SERIALIZABLE */

そして、これらのことを行うために、適切なT-SQLで本体を自動的にラップします。はい、ストアドプロシージャを追加して、これらの引数を取得し、SQL生成を実行して、これらのアーティファクトをコンパイルすることができます。ただし、欠点は、強制がないことです。開発者は手順をバイパスしてCREATE PROCを直接使用できます。また、syscommentsのコンテンツは生成されたコードであり、抽象化を破るAOP注釈付きバージョンではありません。

4

2 に答える 2

6

AO4SQL (AO の概念を SQL に導入するプログラミング言語) に興味があるかもしれません。概念的には、このツールは任意の SQL サーバーで動作します。

RAM-SE 2011 で公開された私の論文「AO4SQL: SQL のアスペクト指向拡張に向けて」をダウンロードできます: http://www-users.cs.york.ac.uk/~manuel/Events/RAM- SE11/RAMSE11papers.zip

AO4SQL はプロトタイプ ツールですが、オープン ソース プロジェクトに参加したい場合は、私に連絡してください。

于 2012-10-15T13:04:30.497 に答える
0

面白い。AOP 手法を SQL Server に適用することなど考えたこともありません。

SQL Server 2008 では、.NET コードを呼び出すことができるので、PostSharp や Castle DynamicProxy などの標準的な AOP ツールで作業できると思います。

于 2012-09-05T02:25:18.820 に答える