Enviar pesquisa
Carregar
BEAR.Sunday $app
•
15 gostaram
•
3,562 visualizações
Akihito Koriyama
Seguir
about the application of BEAR.Sunday PHP web framework.
Leia menos
Leia mais
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 31
Baixar agora
Baixar para ler offline
Recomendados
PHP Coding in BEAR.Sunday
PHP Coding in BEAR.Sunday
Akihito Koriyama
実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで
Ryuma Tsukano
Angular js or_backbonejs
Angular js or_backbonejs
Omasa Yusaku
backbone.jsの使用例 その1
backbone.jsの使用例 その1
Makoto Haruyama
Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1
daisuke shimizu
サーバサイドなおじさんがSPAを趣味で初めて作ってみてわかった n のこと(仮)
サーバサイドなおじさんがSPAを趣味で初めて作ってみてわかった n のこと(仮)
Ken Muryoi
Rubyによるクローラー開発
Rubyによるクローラー開発
しくみ製作所
BEAR.Sunday 1.X
BEAR.Sunday 1.X
Akihito Koriyama
Recomendados
PHP Coding in BEAR.Sunday
PHP Coding in BEAR.Sunday
Akihito Koriyama
実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで
Ryuma Tsukano
Angular js or_backbonejs
Angular js or_backbonejs
Omasa Yusaku
backbone.jsの使用例 その1
backbone.jsの使用例 その1
Makoto Haruyama
Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1
daisuke shimizu
サーバサイドなおじさんがSPAを趣味で初めて作ってみてわかった n のこと(仮)
サーバサイドなおじさんがSPAを趣味で初めて作ってみてわかった n のこと(仮)
Ken Muryoi
Rubyによるクローラー開発
Rubyによるクローラー開発
しくみ製作所
BEAR.Sunday 1.X
BEAR.Sunday 1.X
Akihito Koriyama
FuelPHP で DynamoDB
FuelPHP で DynamoDB
Tetsuji Koyama
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
Sotaro Omura
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話
Keishi Hosoba
Codeigniter3フレームアップデート
Codeigniter3フレームアップデート
tomohiro kitaura
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
noldor
CodeIgniterのライセンスについて
CodeIgniterのライセンスについて
Takako Miyagawa
PHPカンファレンス関西2014 「全てを結ぶ力」
PHPカンファレンス関西2014 「全てを結ぶ力」
Akihito Koriyama
A resource oriented framework using the DI/AOP/REST triangle
A resource oriented framework using the DI/AOP/REST triangle
Akihito Koriyama
BEAR.Sunday@phpcon2012
BEAR.Sunday@phpcon2012
Akihito Koriyama
An object graph visualizer for PHP - print_o
An object graph visualizer for PHP - print_o
Akihito Koriyama
BEAR.Sunday.meetup #0
BEAR.Sunday.meetup #0
Akihito Koriyama
BEAR.Sunday Offline Talk
BEAR.Sunday Offline Talk
Akihito Koriyama
BEAR.Sunday Note
BEAR.Sunday Note
Akihito Koriyama
PHP: Dis Is It
PHP: Dis Is It
Akihito Koriyama
The new era of PHP web development.
The new era of PHP web development.
Akihito Koriyama
BEAR (Suday) design
BEAR (Suday) design
Akihito Koriyama
BEAR DI
BEAR DI
Akihito Koriyama
BEAR Architecture
BEAR Architecture
Akihito Koriyama
BEAR v0.9 (Saturday)
BEAR v0.9 (Saturday)
Akihito Koriyama
Mais conteúdo relacionado
Destaque
FuelPHP で DynamoDB
FuelPHP で DynamoDB
Tetsuji Koyama
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
Sotaro Omura
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話
Keishi Hosoba
Codeigniter3フレームアップデート
Codeigniter3フレームアップデート
tomohiro kitaura
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
noldor
CodeIgniterのライセンスについて
CodeIgniterのライセンスについて
Takako Miyagawa
Destaque
(6)
FuelPHP で DynamoDB
FuelPHP で DynamoDB
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話
Codeigniter3フレームアップデート
Codeigniter3フレームアップデート
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
CodeIgniterのライセンスについて
CodeIgniterのライセンスについて
Mais de Akihito Koriyama
PHPカンファレンス関西2014 「全てを結ぶ力」
PHPカンファレンス関西2014 「全てを結ぶ力」
Akihito Koriyama
A resource oriented framework using the DI/AOP/REST triangle
A resource oriented framework using the DI/AOP/REST triangle
Akihito Koriyama
BEAR.Sunday@phpcon2012
BEAR.Sunday@phpcon2012
Akihito Koriyama
An object graph visualizer for PHP - print_o
An object graph visualizer for PHP - print_o
Akihito Koriyama
BEAR.Sunday.meetup #0
BEAR.Sunday.meetup #0
Akihito Koriyama
BEAR.Sunday Offline Talk
BEAR.Sunday Offline Talk
Akihito Koriyama
BEAR.Sunday Note
BEAR.Sunday Note
Akihito Koriyama
PHP: Dis Is It
PHP: Dis Is It
Akihito Koriyama
The new era of PHP web development.
The new era of PHP web development.
Akihito Koriyama
BEAR (Suday) design
BEAR (Suday) design
Akihito Koriyama
BEAR DI
BEAR DI
Akihito Koriyama
BEAR Architecture
BEAR Architecture
Akihito Koriyama
BEAR v0.9 (Saturday)
BEAR v0.9 (Saturday)
Akihito Koriyama
Mais de Akihito Koriyama
(13)
PHPカンファレンス関西2014 「全てを結ぶ力」
PHPカンファレンス関西2014 「全てを結ぶ力」
A resource oriented framework using the DI/AOP/REST triangle
A resource oriented framework using the DI/AOP/REST triangle
BEAR.Sunday@phpcon2012
BEAR.Sunday@phpcon2012
An object graph visualizer for PHP - print_o
An object graph visualizer for PHP - print_o
BEAR.Sunday.meetup #0
BEAR.Sunday.meetup #0
BEAR.Sunday Offline Talk
BEAR.Sunday Offline Talk
BEAR.Sunday Note
BEAR.Sunday Note
PHP: Dis Is It
PHP: Dis Is It
The new era of PHP web development.
The new era of PHP web development.
BEAR (Suday) design
BEAR (Suday) design
BEAR DI
BEAR DI
BEAR Architecture
BEAR Architecture
BEAR v0.9 (Saturday)
BEAR v0.9 (Saturday)
BEAR.Sunday $app
1.
BEAR.Sunday $app BEAR.Sunday meetup
#1 17/Feb/2013 (Sun)
2.
ソフトウエアの原則
3.
依存関係逆転の原則 • 具体的な実装に依存してはいけない • 抽象に依存する •
NG スタティックコール × 実クラスに依存 • NG サービスロケーター キーで取得できる実装に依存 http://www.flickr.com/photos/rgidra/4256316243/
4.
生成使用分離の原則 • オブジェクトは生成するか利用するかのどち らかで、どちらも同時にしてはいけない •
オブジェクトの使用 は抽象 を取り扱う 使用 抽象 • オブジェクトの生成 は具象 を取り扱う 生成 具象
5.
デメテルの原則 • 最小知識の原則 • 必要のないオブジェクトは受け取らない •
NG $c = $obj->getB()->getC(); • OK $c = $obj->getB()->publicC
6.
Tell, Don t
ask. • OK $dog->walk(); • OK $model->render(); • NG $renderer->set($model- >name)->render();
7.
Solution ?
8.
DI + AOP
9.
インターフェイスとクラスを束縛します
10.
@Injectを付けたメソッドに注入されます
11.
束縛の集合がモジュールです
12.
モジュールはモジュールを利用できます
13.
実行モードに応じて束縛は変わります APIならJSON出力、Devなら詳細なログ...
14.
振る舞い モードに応じて振る舞いを変えるのでなく
NG
15.
構成 モードに応じて振るを変えます
OK 修正に閉じ、変更に開いています(OCP)
16.
AOP Aspect Oriented Programming
17.
注釈と横断的関心時を束縛
18.
注釈を解釈 ここでは「クラスに@Dbと注釈がある」& 「”on”で始まっている」メソッドにはDBを セットするDBインジェクターを束縛 してい
束縛 ます。 DBインジェクターはメソッドによっ てmaster/slaveを選択しDBオブジェクトを注 入します。 利用側、被利用側ともにDB取得 の関心が分離されています。
19.
モードに応じた構成で全てが束縛され...
Dependency + Aspects
20.
インジェクターでアプリケーションを取得します
21.
アプリケーションは依存を持ちます
22.
依存も依存を持ちます
23.
依存の依存..と取得を続け
24.
巨大な”アプリケーションオブジェクトグラフ”を得ます
25.
アプリケーションはシリアライズ可能で
26.
リクエストを超え再利用されます。 アノテーションと束縛を使った膨大なオブジェクトコ ンストラクションコストは原理的にほとんどなくなり ます。
27.
コンストラクタはリクエストを超えて1度しかコールさ れず、そのときプロパティに代入した値はキャッシュ されます。 構成に応じたコードはコンストラクタ、そうでないも のはメソッドと区別できます。
28.
アプリケーションはスクリプトでも取得できます
29.
他のシステムからの利用が容易です より長期間の運用を可能にします
30.
アプリケーションスクリプトでサービスを記述
自由な構成が可能です
31.
アプリケーションオブジェクトまとめ • DI/AOPでOOP原則に従う • アプリケーションは1つの変数、巨大な
オブジェクトグラフ • スクリプトから準備なしに取得できる • アプリケーションスクリプトでサービス を記述
Baixar agora