RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤
コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤 (JUGEMレビュー »)
橋本 直哉,須江 信洋,前佛 雅人,境川 章一郎,佐藤 聖規,山田 修司,青山 尚暉,市川 豊,平岡 大祐,福田 潔,矢野 哲朗
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS

06
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--

bose999's memo

<< BLIを中心において、まわりを考えてみる | main | 製造からのフィードバックに感謝! >>
なぜ、BLI Frameworkを使うとActionクラスを流用できるの?
0
    タイトルの内容をBLI Frameworkを使用して、
    コーディングをする人に説明をしたので、メモしときます。
    
    BLI Frameworkでは、StrutsActionに関しては
    SpringのDelegatingActionProxyクラスから
    StrutsActionを呼び出す方法を取ります。
    
    実装としては、BliStrutsActionを継承して
    jp.sf.bli.ss.sample.SampleActionのようなクラスを
    アプリケーションの要件に応じて最小の個数だけ作成します。
    
    ここでいうアプリケーションの要件とは
    doProcessBefore、doProcess、doProcessAfterという
    BliStrutsActionのメソッドの記述に差異が必要になる要件を
    指します。
    
    つまり、その要件のパターン数だけ作成するだけになります。
    
    jp.sf.bli.ss.sample.SampleActionでは、 遷移先はsuccessにて正常終了とfailureでアプリケーションで 判定できるエラー終了とし、fatalでExceptionを 伴うような異常処理としています。 このくらいの遷移パターンで完結させて設計すると わかりやすくなりミスを防げたり保守しやすくなります。 私は大抵、このくらいで実装する事が多いです。 遷移の選択肢が多い場合は設計を見直すことが多いです。
    そして、実際のビジネスロジックはBliStrutsActionに SpringがInjectionするblCtrlによって決まるのです。 SpringのXMLファイルの設定でblCtrlをInjectionする事により、 BliStrutsActionの継承クラスは何パターンものxxx.doとして 動作可能になります。 #この考え方がBusiness Logic InjectionというBLIの持つ意味の一つを指しています。 結果、Actionクラスをコーディングする個数が激減されます。 【struts-configの設定例】 <action-mappings> : <action path="/search" type="org.springframework.web.struts.DelegatingActionProxy" name="searchForm"> <forward name="success" path="/jsp/search.jsp"/> <forward name="failure" path="/jsp/menu.jsp"/> </action> <action path="/createNew" type="org.springframework.web.struts.DelegatingActionProxy" name="createNewForm"> <forward name="success" path="/jsp/createNew.jsp"/> <forward name="failure" path="/jsp/menu.jsp"/> </action> : </action-mappings> ※fatalに関してはGlobal Forwardにて「システム管理者に問い合わせて下さい」  のような画面を表示します。 【Springの設定例】 <bean name="/search" class="xxx.common.LoginAction"> <property name="blCtrl"> <ref bean="searchBLCtrl" /> </property> <property name="mesInitFlag"> <value>1</value> </property> <property name="loginChkFlag"> <value>1</value> </property> </bean> <bean id="searchBLCtrl" class="xxx.search.SearchBLCtrl"> <property name="blValidate"> <ref bean="searchBLValidate"/> </property> <property name="blList"> <list> <ref bean="selectBlDo" /> </list> </property> </bean> <bean name="searchBLValidate" class="xxx.search.SearchBLValidate"> <property name="validateConfigFile"> <value>xxx.resources.Validate</value> </property> </bean> <bean name="selectBlDo" class=xxx.search.SelectBlDo"> <property name="selectDao"> <ref bean="selectDao" /> </property> </bean> <bean name="selectDao" class="xxxx.dao.impl.SelectDaoImpl"> <property name="dataSource"> <ref local="dataSource" /> </property> </bean> <bean name="/createNew" class="xxx.common.LoginAction"> <property name="blCtrl"> <ref bean="createNewBLCtrl" /> </property> <property name="mesInitFlag"> <value>1</value> </property> <property name="loginChkFlag"> <value>1</value> </property> </bean> <bean id="createNewBLCtrl" class="xxx.createNew.CreateNewBLCtrl"> <property name="blValidate"> <ref bean="createNewBLValidate"/> </property> <property name="blList"> <list> <ref bean="createNewBlDo" /> </list> </property> </bean> <bean name="createNewBLValidate" class="xxx.createNew.CreateNewBLValidate"> <property name="validateConfigFile"> <value>xxx.resources.Validate</value> </property> </bean> <bean name="createNewBlDo" class=xxx.createNew.CreateNewBlDo"> <property name="insertDao"> <ref bean="insertDao" /> </property> </bean> <bean name="insertDao" class="xxxx.dao.impl.InsertDaoImpl"> <property name="dataSource"> <ref local="dataSource" /> </property> </bean>
    | BLI Framework | 21:55 | comments(0) | trackbacks(0) | - | - |









    http://bose.techie.jp/trackback/508161