タグ

AOPに関するshin1x1のブックマーク (3)

  • PHPカンファレンス関西2016 登壇しました - ytake blog

    PHPカンファレンス関西2016 去年参加できなかったPHPカンファレンス関西に参加してきました。 conference.kphpug.jp その代わり今年は福岡に参加できませんでした。 今回は30分枠で設計寄りな[アスペクト指向によるアプリケーション拡張]で登壇しました。 日頃開発しているアプリケーションに、 アスペクト指向で取り上げられる関心毎を、 基盤的関心毎、ユースケースによる関心毎、 拡張の分離といった観点でお話しさせていただきました。 これらはアスペクト指向を取り入れるに当たって、大事なもの、 というわけではなく常につきまとう問題にどう立ち向かっていくか、というものです。 そして「サンプルを公開します!」の通り、 スライドの内容に合わせて、LaravelLaravel-Aspectパッケージを利用した サンプルコードを公開してあります。 github.com アプリケーション

    PHPカンファレンス関西2016 登壇しました - ytake blog
  • ユースケースによるアスペクト指向(Laravel編) - Qiita

    この記事は株式会社アイスタイルアドベントカレンダーの18日目の記事です。 弊社ではPHPをメインで利用しています。 一部のプロジェクトでは表題のアスペクト指向を用いて開発しています。 アスペクトのおさらい 横断的関心の分離をする技術で、アスペクト(AOP)はオブジェクト指向プログラミング (OOP)を補完する技術の一つです。 AOPはポイントカットとアドバイスを利用して定義を行います(AspectJ)。 ポイントカット 後述するアドバイスがどのような条件で実行するかを定義するものです。 例えば、 Hogeクラスのfugaメソッドが実行される時 Hogeクラスの全てのメソッドが実行される時 Hogeクラスのメソッドのうち、setというプレフィックスが付いてるものが実行される時 などがあります(ジョイントポイント)。 言語やライブラリによって定義されているものなどがありますので、 それぞれのラ

    ユースケースによるアスペクト指向(Laravel編) - Qiita
  • デザインパターンの自動化

    .NETで簡単な例を見てみましょう。 public Person : INotifyPropertyChanged { string firstName, lastName; public event NotifyPropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { if ( this.PropertyChanged != null ) { this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public string FirstName { get { return this.firstName; } set { this.firstName

    デザインパターンの自動化
  • 1