タグ

aopとcodingstyleに関するkiyo_hikoのブックマーク (2)

  • プログラム間にボタンを掛ける「DI/AOP」(前編)

    「DI(Dependency Injection)」および「AOP(Aspect Oriented Programming)」と呼ばれる技術が注目を集めている。これらはオブジェクト指向プログラミングにおけるプログラムの単位であるクラスを,互いに結び付ける新たな技術である。システムへの機能変更ニーズが高くなり,さらに開発期間が短くなっている開発の現場において,開発の効率化や品質向上を実現する新たな手段として期待されている。まずはオブジェクト指向プログラミングにおける課題を明らかにし,DIやAOPがそれらをどう解決できるのかを見よう。 DIでクラスを容易に付け外す オブジェクト指向プログラミングの一つ目の課題として,「変更時にクラスの修正が必要になる」ことがある。そもそも,オブジェクト指向で開発したプログラムは,オブジェクト指向ではないプログラムと比べ,機能の削除や変更が容易であることが特徴だ

    プログラム間にボタンを掛ける「DI/AOP」(前編)
    kiyo_hiko
    kiyo_hiko 2011/04/27
    DIでテストしやすくなる、メール通知機能を例にとったAOPの機能要件への適用の検討など。
  • 僕が考えるAOPの適用ポリシー

    Javaナイトセミナー(Vol.3)」で宿題(?)だった「AOPの適用」について,僕なりの意見を以下に述べようと思う。 AOPはトランザクションやロギング,ベースとなる機構で必要な前処理などを適用することが代表例なのは揺るぎのない事実だろう。そして,AOPのこれらの処理に対する適用は,プログラマからテクニカルで毎度毎度のお決まりコーディングを削減することができ,さらに継承やTemplateパターンなどを駆使することなく前処理を実行できるため,対象のクラスを汚す必要がない(何らかのクラスを継承しなくて済むなど)という利点をもたらしてくれる。 しかし,業務的に必要な前処理や共通的な処理の実行にAOPを使用すると,来業務処理をコーディングするプログラマはAOPに関する知識を必要としなくて済むはずなのに,業務処理の記述に比較的難解な技術となるAOPを覚えてもらうことになる。敷居が高くなるだけ

    kiyo_hiko
    kiyo_hiko 2011/04/27
    AOP考察。「業務に関する処理には極力適用しない」・・・これに尽きそうです。Javaのプログラマーなら今やAOPは知っておくべきだと思います(元記事は2007年ですが)。
  • 1