読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

【プログラミング 113.5時間目】AOPとは何か?用語のまとめ。

<スポンサーリンク>

久しぶりにSpringフレームワークの勉強ができた。
全然わかっていないものを学び始めるのはちょっとエネルギーがいることだけど、幅が広がりそうでワクワクする。
何より、「SpringによるWebアプリケーション スーパーサンプル」が家庭教師のようにそばで痒いところを解説してくれるので、ちょっとずつ理解が進んできた。気がする。

SpringによるWebアプリケーションスーパーサンプル 第2版

SpringによるWebアプリケーションスーパーサンプル 第2版

この本をひと通り理解できたら、もう一度「Spring3」に挑戦したい。

この1時間で学んだことのまとめ。
★★
アスペクト指向におけるアスペクトとは「ソフトウェアが持つさまざまな特徴や性質」などを表す。

アスペクト指向において重要となる概念に「横断的関心事の分離」と呼ばれるものがある。

・横断的関心事としてあげられるのが「ロギング」

オブジェクト指向では、ロギングクラスを用意することにより、ロギングという機能と関連するデータ自体をモジュールから分離することに成功した。

AOPでは、オブジェクト指向で実現された「関心事の分離」をさらに高いレベルで推し進める

・さらに高いレベルとは、各モジュールから関心事に関するコードを完全に取り除いてしまうことである。

アスペクト指向は「Advanced Separation Of Concern(先進的な関心事の分離)」と呼ばれることもある。

・ウィービング(Weaving:織り込み)とは、いったん分離した関心事を再びモジュールに挿入することをいう。

■Springを使ったAOPの重要用語
・Advice:ウィービングされる具体的な処理のこと
・Joinpoint:実行時の処理フローにおいて、Adviceをウィービングするポイントのこと
・Pointcut:1つ、もしくは複数のJoinpointを1つにまとめたもののこと
・Advisor:AdviceとPointcutをひとまとめにして扱ったもののこと

サンプルを載せたいけれど、実はまだちゃんと腹に落ちていなくて、とりあえず写経している段階なので、
自分でちょっと応用したものを次の1時間で作ってみてからSpring AOPのサンプルを記事にしたいと思います。

それにしても、勉強することが色々と発散してしまっているなぁ。
ドラッカーは1つのことに集中して一定期間学習しろ、と言っていたと思うけど、全然逆にいってしまっている。
でもきっと、発散していたとしても何もやらないよりマシだし、色々と興味あることは放っておきたくないし、休日の時間や仕事が終わった後の時間を全部費やせばきっと、30歳くらいまでにはなんとかなると思っている。

健康のために、とりあえずジムに行ってきます(休みの日はできるだけ毎日運動したい)