SlideShare uma empresa Scribd logo
1 de 25
Model(Acl)  Zend Framework ::
Model(Acl) ZFでモデルを構成する Zend Frameworkプリセット Domain Driven Design テーマ
最近のZend Framework 構築が楽になってきた 日本語情報が増えてきた 実案件が増えてるはず このあと実案件の紹介があります。 オープンソースも増えてきた デスクトップアプリのリプレースもできる
モデル このスライド内では ドメインモデル PofEAAやDDDでのビジネスロジックそのものの抽象化 model もしくはモデル MVCレイヤーでの区分として ここでは、DBモデルのことは指しません
Presentation Layer Domain Layer Data Source Layer アプリケーション構造
シンプルなWebアプリケーション 定番 Presentation Layer View, Controller Data Source Layer Transaction Script Domain Layer Model Zend_Db 実用的にはこのパターンが多い。 Transaction ScriptがService Layerに分類されることがある。 http://www.martinfowler.com/eaaCatalog/transactionScript.html
もっとシンプルな・・・ Presentation Layer View Data Source Layer Transaction Script Domain Layer Controller Model データソース=モデルとする コントローラーにアプリケーションロジックを記載する 批判される構成だが、E-ラーニングや製品デモには向いている
Data Source Layer Domain Layer ActiveRecord Presentation Layer ActiveRecordはデータベースのテーブルやビューの行をラップし、 データベースアクセスをカプセル化し、 ドメインロジックを追加するオブジェクト http://www.martinfowler.com/eaaCatalog/activeRecord.html
Domain Layer Data Source Layer ServiceLayer Presentation Layer PofEAA 9.4.2 ビジネスロジックが1種類のクライアントしか持たず、ユースケースレスポンスにマルチトランザクションリソースが関連していない場合は、サービスレイヤーは不要 プロジェクトの性質によって決定される http://www.martinfowler.com/eaaCatalog/serviceLayer.html
DDD Layer UI Layer Application Layer Domain Layer Service Layer Infrastructure Layer ビジネスロジックをDomain Layerで実現する
モデルを構成する
Stays out of your model design Framework Shootout, 30 January 2010 http://www.slideshare.net/bngsudheer/framework-shootout-zf
クイックスタート :: create-model http://framework.zend.com/manual/ja/learning.quickstart.create-model.html DbTableクラスの作成 zf create db-table Guestbook guestbook モデルクラスの作成 zf create model Guestbook コントローラーの作成 zf create controller Guestbook
クラス配置 ZFのMVCはmodule構成 コマンドラインのツールzfでapplicationをセットアップ 例) zf create project quickstart モジュール別Bootstrapを用意する =>モジュール別クラスのautoloadが可能に http://framework.zend.com/manual/ja/learning.autoloading.resources.html
クラス配置(モジュラー構成) ,[object Object]
Foo_Model_
Foo_Model_Mapper_
Foo_Model_DbTable_
Foo_Plugin_
Foo_Service_
Foo_BootstrapFooモジュール forms models models/mappers models/DbTable plugins services Bootstrap.php 例)  APP_DIR/application/Foo/ ->redirectUrl以下に配置 Module_Bootstrapで拡張可能
Zend Frameworkのプリセット Model_ Model_DbTable_ Zend_Db_Tableを継承したテーブル毎のクラス Model_Mapper_ Model  DbTable間のマッピング Service_ サービスレイヤー用
Presentation Layer Domain Layer Data Source Layer レイヤーとの対応 Service_ Model_ Model_Mapper_ Model_DbTable_ http://www.martinfowler.com/eaaCatalog/serviceLayer.html
Domain-Driven Design with Zend Framework 図:Domain-Driven Designより
DDD Layer UI Layer Application Layer Domain Layer Service Layer Infra Layer ビジネスロジックをDomain Layerで実現する http://www.martinfowler.com/eaaCatalog/serviceLayer.html

Mais conteúdo relacionado

Semelhante a Architecture related with Zend Framework (Japanese only)

以数据驱动为中心-FreeWheel
以数据驱动为中心-FreeWheel以数据驱动为中心-FreeWheel
以数据驱动为中心-FreeWheelairsex
 
可复制的前后端分离开发模式
可复制的前后端分离开发模式可复制的前后端分离开发模式
可复制的前后端分离开发模式taobao.com
 
14 administrando o black berry mds application console para o software blackb...
14 administrando o black berry mds application console para o software blackb...14 administrando o black berry mds application console para o software blackb...
14 administrando o black berry mds application console para o software blackb...leamsy22
 
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 zhen chen
 
Seminario Ruby On Rails Aula Open Source
Seminario Ruby On Rails Aula Open SourceSeminario Ruby On Rails Aula Open Source
Seminario Ruby On Rails Aula Open SourceSergio Alonso
 
Genesys - 14oct2010
Genesys - 14oct2010Genesys - 14oct2010
Genesys - 14oct2010Agora Group
 
Seguridad en Servicios Web
Seguridad en Servicios WebSeguridad en Servicios Web
Seguridad en Servicios WebHacking Bolivia
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesDr. Spock
 
Interoperabilität in Cloud Infrastrukturen by Dr. Harald Kornmayer
Interoperabilität in Cloud Infrastrukturen by Dr. Harald KornmayerInteroperabilität in Cloud Infrastrukturen by Dr. Harald Kornmayer
Interoperabilität in Cloud Infrastrukturen by Dr. Harald KornmayerMedien Meeting Mannheim
 
автоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rcавтоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rcIgor Khrol
 
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиковCodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиковCodeFest
 
IIS7.5概要 10月17日
IIS7.5概要 10月17日IIS7.5概要 10月17日
IIS7.5概要 10月17日hirookun
 
VENU_Hadoop_Resume
VENU_Hadoop_ResumeVENU_Hadoop_Resume
VENU_Hadoop_ResumeVenu Gopal
 
Lecture1
Lecture1Lecture1
Lecture1orgil
 
The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010Daan Bakboord
 

Semelhante a Architecture related with Zend Framework (Japanese only) (18)

以数据驱动为中心-FreeWheel
以数据驱动为中心-FreeWheel以数据驱动为中心-FreeWheel
以数据驱动为中心-FreeWheel
 
可复制的前后端分离开发模式
可复制的前后端分离开发模式可复制的前后端分离开发模式
可复制的前后端分离开发模式
 
14 administrando o black berry mds application console para o software blackb...
14 administrando o black berry mds application console para o software blackb...14 administrando o black berry mds application console para o software blackb...
14 administrando o black berry mds application console para o software blackb...
 
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储
 
Seminario Ruby On Rails Aula Open Source
Seminario Ruby On Rails Aula Open SourceSeminario Ruby On Rails Aula Open Source
Seminario Ruby On Rails Aula Open Source
 
CLR/H 55
CLR/H 55CLR/H 55
CLR/H 55
 
Genesys - 14oct2010
Genesys - 14oct2010Genesys - 14oct2010
Genesys - 14oct2010
 
Seguridad en Servicios Web
Seguridad en Servicios WebSeguridad en Servicios Web
Seguridad en Servicios Web
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
 
Interoperabilität in Cloud Infrastrukturen by Dr. Harald Kornmayer
Interoperabilität in Cloud Infrastrukturen by Dr. Harald KornmayerInteroperabilität in Cloud Infrastrukturen by Dr. Harald Kornmayer
Interoperabilität in Cloud Infrastrukturen by Dr. Harald Kornmayer
 
автоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rcавтоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rc
 
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиковCodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
CodeFest 2010. Желтов А. — Погружение в Internet Explorer 9 для разработчиков
 
IIS7.5概要 10月17日
IIS7.5概要 10月17日IIS7.5概要 10月17日
IIS7.5概要 10月17日
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
VENU_Hadoop_Resume
VENU_Hadoop_ResumeVENU_Hadoop_Resume
VENU_Hadoop_Resume
 
Lecture1
Lecture1Lecture1
Lecture1
 
Intro Cloud I
Intro Cloud IIntro Cloud I
Intro Cloud I
 
The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010The new release of Oracle BI 11g R1 - OGH – 15 September 2010
The new release of Oracle BI 11g R1 - OGH – 15 September 2010
 

Architecture related with Zend Framework (Japanese only)