This shop will be powered by Are you the store owner? Log in here
This shop will be powered by Are you the store owner? Log in here
アスペクト指向プログラミング(Aspect Oriented Programming、AOP)は、横断的関心(英語版)を実装する手法によって、プログラムのモジュール性を高めることを目的にしたプログラミングパラダイムである。横断的関心とは、関心の分離によるモジュールの複数以上にまたがっている共通機能を意味している。AOPはこの横断的関心を、既存コードに設けた間接点(joint point)を通しての振る舞い助言(advice)の追加によって、コード変更を伴なわずに実装できるようにしている。任意の間接点および振る舞い助言の定義をまとめたモジュールがアスペクト(英語版)と呼ばれ、これが横断的関心の表現体になる。例としては、全ての関数呼出しにログ出力を伴わせたい時に、全関数冒頭にjoint pointを設けてログ出力コードをadviceにしたアスペクトをプログラム内に定義することで、自動的に各関数
本記事でPollice氏は、アスペクト指向プログラミング(AOP)の概要を示し、AOPの将来性、その将来性を実現するために必要なもの、およびそれに伴う問題や障害について述べている。 理想的な世界では、ソフトウェアの作り直しなどという作業は存在しないだろう。おそらく、適切なオブジェクト・モデルが最初から得られ、ウォーターフォール型の開発アプローチがうまく機能するだろう。しかし悲しいかな、われわれが住んでいるのは理想的な世界ではない。そのため、ソフトウェア・システムを構築するためのよりよい方法を常に模索しているのである。 われわれは現実的に、すべての状況に対して適切なプロセス、手法、言語、プラットフォームなどが存在しないことを認識している。だからこそ、ツールのレパートリーを広げて、特別なツールや手法が必要になったときにすぐにそれらを利用できるように準備しているのである。この業界(もちろんIT業
はてなでは XS を使い始めて処理速度が改善されつつあるようです。 スクリプト言語へのバインディングは、もはやミドルウェアには必須の機能だと思います。 しかし、最近気になっているのは、少なくとも日本では XS 直書きのようなスクリプト言語固有の機能を直接使ってバインディングを作成している開発者が圧倒的に多いということです。 正直なところSWIG をもっと使ってほしいです。 私が気に入っている点は以下です。 1. SWIG はスクリプト言語固有のバインディング作成バッドノウハウを エレガントにラップしてくれます。たとえば、例外処理などがいい例ですが、 SWIG のインタフェイス上で例外処理を書いておけば、 各言語の例外処理のシンタックスに適切に変換してくれます。 2. バンディングレベルで OOP の機能が無く、プリミティブな関数呼び出ししかできない スクリプト言語(perl,python,
なんで、この手の説明は難しくなってしまうんだろう。 O/Rマッピングって、「SQL書きたくない人が楽するための仕組み」でいいんじゃないの? ・・・って、WEB+DB PRESSの新人向け研修という企画でのO/Rマッピングのページを見て思ったわけですが。 説明の深度自体は良いと思うんだけど(つか、たいしたことは書いてない)、言葉が難しすぎるのが一点と、単純に何のためにある技術なのか?という意味では、「楽したいから」以上のものはなくて、結果的にO/Rマッパってのを使うと、さらにパフォーマンスが高いとかそういう「オマケ」がついてきて二度おいしいだけかと思ったりするので、そういう楽しげな感じが伝わってきたほうが、よっぽどうれしいと思うのは僕だけでしょうか?
EJBへの批判の多くはEnity Beanへ向けられています。 Enity Beanは「分散」と「永続性」を一緒に扱っているために、「分散」が不要なユーザにとっては使いづらいというのが指摘されている問題の一つです。Entity Bean では、これらの直交した概念が一緒のコンポーネントになっている点が問題であるというわけです。 J2EEはエンタープライズシステムのアーキテクチャですから、利用ユーザの数やシステムの規模が違います。システムを無停止で動かすためには、機器の多重化が必要でしょう。そこで、コンポーネント間の「分散」連携が必要になることが多いでしょう。 しかし、実際問題として、Enity Beanをクライアントからリモートアクセスすることはほとんどありません。普通はSession Facadeパターンを使うので、Entity Beanの直接のクライアントはサーバ内のSession B
オブジェクト指向とリレーショナルの違い O/Rマッピングとは、文字通り、オブジェクト指向でいうところのオブジェクトと、リレーショナルデータベースをマッピングするということだ。わざわざこんな言葉が存在するのは、現在のオブジェクト指向プログラミングに対して、データベースの考え方が、オブジェクト指向に追いついていないからだ。例えば、発注情報を考えた場合、オブジェクトの構造は、 発注情報 1 - N 発注明細行 となる。これは、発注情報の中に「発注明細行の集合である明細」が含まれていることを示す。しかし、リレーショナルデータベースの場合、オブジェクトの階層構造を扱うことができない。そのために、発注情報のヘッダと発注明細行は、別々の情報として扱われる。 現実世界におきかえて例え話をしよう。 オブジェクト指向の場合は、「発注書バインダー」を開くと、1ページが「発注書」であり、その中には発注元
package test; import java.util.List; import java.util.Properties; import net.sf.hibernate.Hibernate; import net.sf.hibernate.HibernateException; import net.sf.hibernate.Session; import net.sf.hibernate.Transaction; import net.sf.hibernate.cfg.Configuration; import net.sf.hibernate.expression.Expression; public class SampleMain { public static void main(String[] args) { Configuration cfg = null; Se
O/Rマッピングは、従来の煩雑なデータベースに関する処理の記述をスマートにし、、柔軟なアプリケーションの構築を可能にします。本連載ではオープンソースのO/Rマッピングフレームワーク「Hibernate」を用いてO/Rマッピングの基礎を解説します。そしてさらに、J2EEアプリケーションへの実践的な適用方法とそのメリットも紹介していきます。(編集局)
「従来のEJBは存在自体が間違いだった」,軽量コンテナ「Spring Framework」開発者のRod Johnson氏吠える 「エンティティBean(EJB:Enterprise JavaBeansに含まれるデータベース・アクセスのカプセル化機能)なんてないほうがよかった。エンティティBeanのせいで2~3年が無駄に失われてしまった」。現在,最も影響力のあるJava関連技術者の1人であるRod Johnson氏は,2005年6月21日に東京で開催された「JavaWorld DAY 2005」で,従来のJ2EE/EJBがいかに間違った存在だったかをとうとうと語った。「米国や英国で,新規のプロジェクトがエンティティBeanを採用したという話は,もはや1件も聞かない」。 Johnson氏は,広く使われている軽量コンテナ「Spring Framework」の開発者。J2EE開発者に大きな影響を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く