タグ

アスペクト指向に関するSuicomのブックマーク (11)

  • MSDN マガジン: Cutting Edge - Unity におけるポリシーの挿入

    Unity におけるポリシーの挿入 Dino Esposito ライブラリでサポートされるようになっています。Unity も同様に改訂されています。AOP の主な目的は、コンポーネントやロジックにまたがる横断的問題を、開発者がより効率的に処理できるようにすることです。つまり、アプリケーションのオブジェクト モデルをいつ作成し、セキュリティ、キャッシュ、ログ記録などのコードのアスペクトにどのように対処すればよいかといった疑問に、AOP が対処します。このようなアスペクトは、実装にとっては重要な要素ですが、開発者が構築しているモデルのオブジェクトには厳密には含まれません。設計を犠牲にしてまでも、ビジネスに関係のないアスペクトを組み込む必要があるでしょうか。それとも、ビジネス指向クラスを追加のアスペクトで修飾する方が良いでしょうか。クラスをアスペクトで修飾する場合、基的には AOP がこのよう

    MSDN マガジン: Cutting Edge - Unity におけるポリシーの挿入
  • MSDN マガジン: Cutting Edge - Unity でのインターセプター

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Unity でのインターセプター Dino Esposito 先月のコラムでは、Unity 2.0 の依存関係挿入コンテナーで使用されているインターセプトのメカニズムについて簡単に説明しました。そこでは、アスペクト指向プログラミング (AOP) の中核となる原理を説明してから、現在の多くの開発者のニーズに非常に近いと思われる、インターセプトの具体例を紹介しました。 ソース コードに手を加えることなく、既存のコードの動作を拡張したい、と思ったことはありませんか。既存のコードの前後で別のコードを実行できたら、と考えたことはありませんか。 AOP は、主要なビジネス ロジックを横断する問題から中核となるコードを分離

    MSDN マガジン: Cutting Edge - Unity でのインターセプター
  • MSDN マガジン: Cutting Edge: アスペクト指向プログラミング、インターセプト、および Unity 2.0

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 アスペクト指向プログラミング、インターセプト、および Unity 2.0 Dino Esposito オブジェクト指向がプログラミングの主流パラダイムの 1 つであり、システムをコンポーネントに分解し、そのコンポーネントを通じてプロセスを表現することにかけては卓越していることに疑問の余地はありません。オブジェクト指向 (OO) パラダイムは、あるコンポーネントのビジネス固有の問題を処理する場合にも卓越しています。しかし、コンポーネント間の横断的問題の処理に関しては、OO パラダイムはそれほど効果的ではありません。一般に、横断的問題とは、あるシステムの複数のコンポーネントに影響を与える問題のことです。 複雑なビ

    MSDN マガジン: Cutting Edge: アスペクト指向プログラミング、インターセプト、および Unity 2.0
  • 2004-03-28

    便利だけどあんまり使われていないので、使用例をちょっと紹介。 開発中に#ifdef DEBUGでトレース埋め込んだりすることがあると思います。良くあるパターンとしてメソッド名や引数、時間などを書き出すと思いますが、単純作業で退屈ですし、ソースコードが読みにくくなってちょっと嫌です。そんなの時に、カスタム属性とRealProxyを使うと便利です。 こんなクラスがあったとします。 class MyClass : ContextBoundObject { public double Add(double x, double y) { return x + y; } public void Multiply(double x, double y, out double z) { z = x * y; } public double Divide(double x, double y) { if (

    2004-03-28
  • 『属性を使ってログを出力する試み…』

    C# 歴1週間のう~です。 あるプロジェクト(すでに流れてしまいましたが( 前記事 ))で、ユーザ操作やエラー(例外)をログに残したいという要件があったので、その実現方法について何かうまいやり方は無いかなとちょっと考えていました(あちこちに try-catch を埋め込むなんて嫌ですからね)。 NUnit が属性とリフレクションの機能を使って実行するテストを指定できるようになっているのを見て、操作ログも同じように属性を使って記録できないかなぁ~なんて思って調べていたら、やっぱりやっている人たちがいるんですね… http://www.ne.jp/asahi/nami/mei/cstips/methodlog.html http://d.hatena.ne.jp/zecl/searchdiary?word=*%5BC%23%5D 上の記事を参考にして自分でもプロトタイプを書いてみたのですが、結

    『属性を使ってログを出力する試み…』
  • サイト閉鎖のお知らせ | ASCII Books

    ASCII Booksのサイトをご利用いただき、ありがとうございます。 2016年12月6日をもちまして、サイトを閉鎖させていただくことになりました。 今までサイトをご利用いただき、ありがとうございました。 アスキー・メディアワークスを引き続き、よろしくお願いいたします。

  • Poll Results: IoC containers for .NET

    Poll Results: IoC containers for .NET Here are the results for the IoC containers for .NET poll. If you had a look at this page earlier and it looked different, don’t worry — I changed it because somebody had started abusing the poll, so I had to stop accepting submissions. I analyzed the data and created some nice charts. Here’s the first one: how many people actually use IoC vs. not. Then, which

  • S2Dao.NETでXMLレスなO/Rマッピングを行う:CodeZine

    はじめに データアクセスを簡単にするO/Rマッピングライブラリやテーブルアダプタを採用しているにも関わらず、「設定ファイルを書くことが大変だ」「自動生成されたソースが複雑だ」などと感じたことはことはありませんか? 稿では、コードがシンプルで、マッピングを定義するXMLファイルも書かなくてよい「S2Dao.NET」という新しいO/Rマッピングライブラリについて紹介します。対象読者 .NET開発者。データベースプログラミングやO/Rマッピングに興味をある方を対象としています。必要な環境 このサンプルはVisual Studio 2005で作成し、.NET Framework 2.0で動作確認をしています。データベースはMicrosoft Access(MDB)を使用しています。稿ではC#にて解説をしていますが、VisualBasicのソースコードもダウンロードできます。 S2Dao.NET

  • S2Container.NETのDIとAOPを活用し生産性の高いシステムを構築する:CodeZine

    はじめに 『システム構築の現場にもっと「易しさ」と「優しさ」を』というコンセプトのもとに開発が進められている「Seasar2」というオープンソースをご存知でしょうか。「Seasar2」はDIコンテナとAOPという便利な機能を提供するJavaのフレームワークで、今後の開発の基盤として注目を集めています。稿では「Seasar2」を.NET環境に移植した「S2Container.NET(以降s2dotnet)」と呼ばれるプロダクトを紹介します。対象読者 .NETにて開発を行っている方で、設計やフレームワークなどに興味を持っている方を対象とします。必要な環境 サンプルはVisual Studio .NET 2003で作成され、.NET Framework 1.1、s2dotnet 1.0.0で動作確認をしています。s2dotnetとは 「s2dotnet」は、杉和也氏と佐藤太一氏が中心となって

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • .NET開発者のためのDI&AOP入門(前編) ― @IT

    “DI”や“AOP”というキーワードを耳にしたことがあるだろうか。これらのテクノロジは、.NET技術者にはまだまだ普及していないのが現状だが、Java開発での長年の利用結果から見ても開発生産性を飛躍的に高めてくれるテクノロジであることは間違いなく、.NET開発でも必ず役立つものであり、むしろ使わない手はない。従って、できるだけ多くの.NET開発者にこれらのテクノロジの良さを知っていただき、有効に活用していただきたいと筆者は考えている。 そこで稿では2回にわたり、前編でDIを、後編でAOPを紹介していきたいと思う。稿を通して.NET開発におけるDIとAOPの有効性と可能性を感じ取っていただければ幸いである。 ■1. DIとAOPを理解するためのサンプルの作成 DI(Dependency Injection。依存注入)とAOP(Aspect-Oriented Programming。アスペ

  • 1