<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/torico/">
    <title>お勉強メモ</title>
    <link>http://w.atwiki.jp/torico/</link>
    <atom:link href="https://w.atwiki.jp/torico/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>お勉強メモ</description>

    <dc:language>ja</dc:language>
    <dc:date>2005-10-17T13:19:10+09:00</dc:date>
    <utime>1129522750</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/torico/pages/10.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/torico/pages/19.html">
    <title>Tapestry</title>
    <link>https://w.atwiki.jp/torico/pages/19.html</link>
    <description>
      
&lt;h1&gt;&lt;b&gt;Tapestry&lt;/b&gt;&lt;/h1&gt;
&lt;b&gt;Tapestryってなに？&lt;br&gt;&lt;/b&gt;Webデザイナーとプログラマーの作業を完全に分離し、両者が並行して作業を進めることを可能にするプレゼンテーション層用のフレームワーク&lt;br&gt;

&lt;br&gt;
&lt;b&gt;オブジェクトを操作するための言語「OGNL」&lt;br&gt;
&lt;span style=
&quot;color: rgb(255, 153, 0);&quot;&gt;OGNLってなに？&lt;/span&gt;&lt;br&gt;&lt;/b&gt;Object－Graph　Navigation　Language&lt;br&gt;

オブジェクトを操作するための式記述言語という意味&lt;br&gt;
&lt;br&gt;
Tapestryでは仕様からJava特定のプロパティやフィールド、メソッドにアクセスするために、OGNLという表記方法を用いる。&lt;br&gt;

&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
任意のHTMLﾀｸﾞに対して「&lt;span style=
&quot;color: rgb(51, 204, 0);&quot;&gt;jwcid&lt;/span&gt;」という属性を埋め込むことで&lt;br&gt;

コンポーネントとのマッピングを行う。&lt;br&gt;
&lt;br&gt;
これによってTapestryのページテンプレートはWebブラウザでプレビューすることができるし、オーサリングツールで直接編集することも可能になる。&lt;br&gt;

&lt;br&gt;
JSFの場合はカスタムタグでUIコンポーネントを指定するので&lt;br&gt;

そこがちがう。&lt;br&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;JSF(※名前入力欄とパスワード入力欄の例)&lt;/li&gt;
&lt;/ul&gt;
&amp;lt;h:inputText value=&quot;#{form.name}&quot; /&amp;gt;&amp;lt;br/&amp;gt;&lt;br&gt;
&amp;lt;h:inputSecret value=&quot;#{form.passwd}&quot; /&amp;gt;&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Tapestry(※同上)&lt;/li&gt;
&lt;/ul&gt;
&amp;lt;input type=&quot;text&quot; jwcid=&quot;name&quot;/&amp;gt;&amp;lt;br/&amp;gt;&lt;br&gt;
&amp;lt;input type=&quot;password&quot; jwcid=&quot;password&quot;/&amp;gt;&lt;br&gt;
&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
Tapestryアプリケーションは「Home」という名のページを必ず含んでいないといけない。&lt;br&gt;
    </description>
    <dc:date>2005-10-17T13:19:10+09:00</dc:date>
    <utime>1129522750</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/torico/pages/18.html">
    <title>Hibernate2</title>
    <link>https://w.atwiki.jp/torico/pages/18.html</link>
    <description>
      Hibernateのメリット&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;コーディング量の軽減&lt;/li&gt;
&lt;li&gt;
パーシステンス(オブジェクトの取得や保存)サービス層の分離&lt;/li&gt;
&lt;li&gt;
レイジーローディング機能、キャッシュ機能などをサポートしている&lt;/li&gt;
&lt;li&gt;特定のDBMSへの依存度の軽減&lt;/li&gt;
&lt;li&gt;
コンテナを必要とせず、パーシステンスに関連する機能だけを提供している。&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;    </description>
    <dc:date>2005-09-20T19:34:28+09:00</dc:date>
    <utime>1127212468</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/torico/pages/17.html">
    <title>シフト演算</title>
    <link>https://w.atwiki.jp/torico/pages/17.html</link>
    <description>
      &lt;br&gt;
&lt;table style=&quot;width: 244px; height: 56px;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;short&lt;br&gt;&lt;/th&gt;
&lt;th&gt;&lt;br&gt;&lt;/th&gt;
&lt;th&gt;byte&lt;br&gt;&lt;/th&gt;
&lt;th&gt;byte&lt;br&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: rgb(102, 204, 204);&quot;&gt;&lt;br&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: rgb(102, 204, 204);&quot;&gt;&lt;br&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: rgb(102, 255, 255);&quot;&gt;&lt;br&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: rgb(102, 255, 255);&quot;&gt;&lt;br&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
int型にshortとbyte、byteをつめこみたい&lt;br&gt;
→シフト演算&lt;br&gt;
１)頭がshort型のとき&lt;br&gt;
&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
int ret=0;&lt;br&gt;
short year = (short)5;&lt;br&gt;
byte month = (byte)9;&lt;br&gt;
byte date = (byte)15;&lt;br&gt;
&lt;br&gt;
ret = year &amp;lt;&amp;lt;(8*3);//3byte * 8bit&lt;br&gt;
ret += month&amp;lt;&amp;lt;8;//1byte * 8bit&lt;br&gt;
ret +=date;&lt;br&gt;
&lt;br&gt;
ret=83888399&lt;br&gt;
→101/00001001/00001111(2進)&lt;br&gt;
&lt;br&gt;
(2進)&lt;br&gt;
&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
真ん中がshort&lt;br&gt;
&lt;table style=&quot;width: 186px; height: 56px;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;byte&lt;br&gt;&lt;/th&gt;
&lt;th&gt;short&lt;br&gt;&lt;/th&gt;
&lt;th&gt;&lt;br&gt;&lt;/th&gt;
&lt;th&gt;byte&lt;br&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: rgb(5    </description>
    <dc:date>2005-09-15T13:51:22+09:00</dc:date>
    <utime>1126759882</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/torico/pages/16.html">
    <title>Spring　プレゼンテーション層</title>
    <link>https://w.atwiki.jp/torico/pages/16.html</link>
    <description>
      
プレゼンテーション層ではSpringのMVCフレームワークが利用可能&lt;br&gt;

&lt;br&gt;
&lt;b style=
&quot;color: rgb(255, 102, 0);&quot;&gt;Springが提供するMVCフレームワークの構成&lt;/b&gt;&lt;br&gt;

&lt;ul&gt;
&lt;li&gt;
アプリケーションコントローラであるアプリケーションコントローラサーブレット&lt;/li&gt;
&lt;li&gt;
コントローラサーブレットから呼ばれるコントローラクラス&lt;/li&gt;
&lt;li&gt;その動作を制御する定義ファイル&lt;/li&gt;
&lt;/ul&gt;
これらを利用することによってUIとしてJSPだけでなくVelocityやXSLTなどを利用することが可能。&lt;br&gt;

&lt;br&gt;
アプリケーションコントローラの1つであるコントローラクラスはSpring　MVCフレームワークが提供するクラスを継承して開発者が提供する。&lt;br&gt;

&lt;br&gt;
Spring　MVCフレームワークを利用した場合、コントローラクラスはユーザからの入力データをWebコンテナに依存しないJavaBeansで取得でき、Webコンテナから分離された入力データの検証クラスを利用することができるのが利点。&lt;br&gt;

またコントローラクラスからサービスロジックを呼び出すには、DIコンテナからサービスロジックを取得して行わなければならない。これによりアプリケーションコントローラに不用意にサービスロジックを組み込む可能性が低くなる。&lt;br&gt;

&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
&lt;b style=
&quot;color: rgb(255, 102, 0);&quot;&gt;SpringWebインテグレーション機能&lt;br&gt;
&lt;br&gt;&lt;/b&gt;&lt;span style=
&quot;color: rgb(255, 102, 0);&quot;&gt;MVCフレームワークを必ず使う必要はない&lt;br&gt;

&lt;br&gt;
&lt;/span&gt;Springを利用してWebアプリケーションを作るときに必要な機能&lt;br&gt;

Webインテグレーション機能を使えばUIの技術であるVelocityやMVCフレームワークであるStrutsを簡単にプラグインして利用することが可能&lt;br&gt;

&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
&lt;b style=&quot;color: rgb(255, 102, 0);&quot;&gt;ビジネス層&lt;/b&gt;&lt;br&gt;
Springがビジネス    </description>
    <dc:date>2005-09-12T12:39:52+09:00</dc:date>
    <utime>1126496392</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/torico/pages/15.html">
    <title>Spring概要</title>
    <link>https://w.atwiki.jp/torico/pages/15.html</link>
    <description>
      &lt;b&gt;Spring&lt;br&gt;
&lt;br&gt;
&lt;/b&gt;ロッド・ジョンソン氏を中心に開発されたJava/J2EEフレームワーク&lt;br&gt;

&lt;br&gt;
DIコンテナという軽量コンテナをベースに、AOP、MVCフレームワーク、JDBCを抽象化したフレームワーク、既存フレームワークとのインテグレーション機能などを開発者に提供してくれるアプリケーションアーキテクチャのベースとなるもの。&lt;br&gt;

&lt;br&gt;
Webアプリケーションの代表的なフレームワークであるStrutsやHibernateがプレゼンテーション層やデータアクセス層をカバーするフレームワークなのに対し、Springは「すべての層をカバーしているフレームワーク」。&lt;br&gt;

&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;&lt;b&gt;&lt;span style=
&quot;color: rgb(255, 102, 0);&quot;&gt;Springの提供する主な機能&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;ul&gt;
&lt;li&gt;DIコンテナ&lt;/li&gt;
&lt;li&gt;MVCフレームワーク&lt;/li&gt;
&lt;li&gt;JDBC抽象化フレームワーク&lt;/li&gt;
&lt;li&gt;AOPフレームワーク&lt;/li&gt;
&lt;li&gt;Webインテグレーション機能&lt;/li&gt;
&lt;li&gt;ORMインテグレーション機能&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
POJOで構成された独立した業務ロジック(ビジネス層）を作れることはSpringの設計上の最大の魅力点&lt;br&gt;

&lt;br&gt;
&lt;b&gt;DIコンテナのメリット&lt;/b&gt;&lt;br&gt;
委譲を利用した、より柔軟なアーキテクチャを構築することができること&lt;br&gt;

&lt;br&gt;
DIコンテナはPOJOをシステム内で1つしかインスタンス化する必要のないクラス(Singleton)として管理し、利用者に提供する。&lt;br&gt;

これにより、SingletonのロジックがハードコーディングされていないPOJOの再利用性は高くなる、Singletonクラスが必要でない場合は、Bean定義ファイルに「このクラスはSingletonではない」と宣言すればよい。&lt;br&gt;

&lt;br&gt;
DIコンテナとAOP機能を利用することにより、クラスの責務以外の処理をオブジェクトに追加することも可能。&lt;br&gt;

&lt;hr    </description>
    <dc:date>2005-09-12T11:30:47+09:00</dc:date>
    <utime>1126492247</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/torico/pages/14.html">
    <title>データアクセス層の役割</title>
    <link>https://w.atwiki.jp/torico/pages/14.html</link>
    <description>
      
データアクセス層はRDBへのアクセスをビジネス層から隠蔽し、ビジネスロジックに必要なデータをRDBから取得しobjにmappingするもの。&lt;br&gt;

&lt;br&gt;
プレゼンテーション層同様、データアクセス層もオープンソースのDBアクセスフレームワークを利用するのが一般的。&lt;br&gt;

&lt;br&gt;
&lt;b style=&quot;color: rgb(0, 153, 0);&quot;&gt;O/Rマッピング&lt;/b&gt;&lt;br&gt;
オブジェクト指向分析でエンティティを抽出し、そのエンティティを基に設計段階でテーブルを作成するもの&lt;br&gt;

&lt;br&gt;
&lt;b style=&quot;color: rgb(0, 153, 0);&quot;&gt;R/Oマッピング&lt;/b&gt;&lt;br&gt;
システムのデータ分析をDOA(データ中心アプローチ)などで行いテーブルを作成した場合や、システム開発以前にすでにテーブルが存在している場合に利用する&lt;br&gt;

&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
&lt;b style=
&quot;color: rgb(255, 102, 0);&quot;&gt;DBアクセスフレームワークの種類&lt;br&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(255, 102, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;一般的に知られているのはORM(O/RMapper)&lt;br&gt;

ORMは、XMLなどで記述されたマッピングファイルによってobjとTBLのマッピングを行う。&lt;br&gt;

マッピングファイルを記述するのは手間がかかるが開発者はSQL文を意識しないで良いのが特徴。&lt;br&gt;

&lt;br&gt;
&lt;b&gt;&lt;span style=
&quot;color: rgb(51, 204, 0);&quot;&gt;ORMの代表的なフレームワーク&lt;/span&gt;&lt;/b&gt;&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: rgb(255, 102, 0);&quot;&gt;&lt;span style=
&quot;color: rgb(0, 0, 0);&quot;&gt;Hibernate&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: rgb(255, 102, 0);&quot;&gt;&lt;span style=
&quot;color: rgb(0, 0, 0);&quot;&gt;Torque(ApacheDBプロジェクト)&lt;/span&gt;    </description>
    <dc:date>2005-09-12T09:56:15+09:00</dc:date>
    <utime>1126486575</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/torico/pages/13.html">
    <title>トランザクション管理</title>
    <link>https://w.atwiki.jp/torico/pages/13.html</link>
    <description>
      トランザクションには守るべきACID属性がある。&lt;br&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;ACID&lt;br&gt;&lt;/th&gt;
&lt;th&gt;意味&lt;br&gt;&lt;/th&gt;
&lt;th&gt;解説&lt;br&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Atomic&lt;br&gt;&lt;/td&gt;
&lt;td&gt;トランザクションの原子性&lt;br&gt;&lt;/td&gt;
&lt;td&gt;
トランザクション内の処理はすべて行われたかなにも行われなかったかのどちらかしかない。&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consistent&lt;br&gt;&lt;/td&gt;
&lt;td&gt;データの一貫性&lt;br&gt;&lt;/td&gt;
&lt;td&gt;
データに一貫性があること。一貫性を守っていない例：親テーブルがないのに子テーブルがある&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isolated&lt;br&gt;&lt;/td&gt;
&lt;td&gt;トランザクションの独立性&lt;br&gt;&lt;/td&gt;
&lt;td&gt;
並行して走るトランザクションが互いに独立していること&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Durable&lt;br&gt;&lt;/td&gt;
&lt;td&gt;データの永続性&lt;br&gt;&lt;/td&gt;
&lt;td&gt;
データが永続化されていること。永続化されているデータが読み出せること&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
トランザクションの境界&lt;br&gt;
プレゼンテーション層とビジネス層の間に引かれる。&lt;br&gt;
&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;
明示的なトランザクション：ソースコードにそのままかく&lt;/li&gt;
&lt;li&gt;
宣言的なトランザクション：フレームワークなどから提供されるトランザクション処理にトランザクション管理を行わせることをいう&lt;/li&gt;
&lt;/ol&gt;
2を利用することによってビジネス層に含まれるコンポーネントは自由に組み合わせることができ、開発者もトランザクションを意識することなくロジックの記述に専念できる&lt;br&gt;

&lt;br&gt;
アプリケーションアーキテクチャを柔軟なものにするなら２を積極的に使うこと。&lt;br&gt;

&lt;br&gt;
２を使うにはEJBという選択肢もあるがEJBのコンポーネントはEJBコンテナに依存するのでテストがしにくい&lt;br&gt;

&lt;br&gt;
2を利用するならトランザクションの境界となるのはサービス    </description>
    <dc:date>2005-09-10T15:15:44+09:00</dc:date>
    <utime>1126332944</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/torico/pages/12.html">
    <title>MVC2</title>
    <link>https://w.atwiki.jp/torico/pages/12.html</link>
    <description>
      
J2EEのMVC2はSmallTalkで確立されたMVCパターンを参考にしたもの。&lt;br&gt;

&lt;br&gt;
Model:JavaBeanc(EJB)&lt;br&gt;
View:JSP&lt;br&gt;
Contraller:Servlet&lt;br&gt;
&lt;br&gt;
MVCフレームワークの種類&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;
リクエスト駆動型→Struts、SpringMVCフレームワーク、WebWork&lt;/li&gt;
&lt;li&gt;イベント駆動型→JSF、Tapestry&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;br&gt;    </description>
    <dc:date>2005-09-10T14:56:56+09:00</dc:date>
    <utime>1126331816</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/torico/pages/11.html">
    <title>レイヤ</title>
    <link>https://w.atwiki.jp/torico/pages/11.html</link>
    <description>
      
レイヤを疎結合に保ち、保守性や拡張性に強い設計にするのがいい。&lt;br&gt;

レイヤはもともとアーキテクチャパターンの1つ。&lt;br&gt;
レイヤは互いに隣接するレイヤ間だけ片方向のアクセスが可能という特性を持つもの。&lt;br&gt;

&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
&lt;b style=&quot;color: rgb(255, 102, 0);&quot;&gt;一般的なレイヤ&lt;br&gt;&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;プレゼンテーション層&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
　　UIとアプリケーションコントローラを提供する&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;　&lt;b&gt;ビジネス層&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
　　ビジネスロジックを提供する&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;　&lt;b&gt;データアクセス層　&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
　　データベースへのアクセスを抽象化する&lt;br&gt;
&lt;br&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;アプリケーションコントローラ&lt;br&gt;&lt;/td&gt;
&lt;td&gt;&lt;br&gt;&lt;/td&gt;
&lt;td&gt;画面繊維の制御やセッションの管理など&lt;br&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ビジネスロジック&lt;br&gt;&lt;/td&gt;
&lt;td&gt;サービスロジック(アプリケーションロジック)&lt;br&gt;&lt;/td&gt;
&lt;td&gt;
特定の業務や特定部署の処理。トランザクションの起点。一般的にはステートレスなクラス&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;br&gt;&lt;/td&gt;
&lt;td&gt;ドメインロジック&lt;br&gt;&lt;/td&gt;
&lt;td&gt;
ビジネスを行ううえで当然に認識される顧客や注文といったクラスが持つ処理&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
Webアプリケーションのレイヤ&lt;br&gt;
　以下の2つの論理レイヤに分けることができる&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;ビジネスにかかわる部分&lt;/li&gt;
&lt;li&gt;
ビジネスロジックをいかにして表現するかを実現する仕組み&lt;/li&gt;
&lt;/ul&gt;
やりたいことは表現方法がなんであれビジネス層に影響を与えないこと&lt;br&gt;

&lt;br&gt;
ビジネス層こそがシステムの中心となるものであって、表示の仕組みや永続化の仕組みが変わったとしても影響を受けないようにすることが重要。&lt;br&gt;

&lt;br    </description>
    <dc:date>2005-09-08T18:53:53+09:00</dc:date>
    <utime>1126173233</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/torico/pages/10.html">
    <title>アプリケーションアーキテクチャ</title>
    <link>https://w.atwiki.jp/torico/pages/10.html</link>
    <description>
      &lt;b style=
&quot;color: rgb(255, 102, 0);&quot;&gt;アプリケーションアーキテクチャ&lt;/b&gt;&lt;br&gt;

システム開発の目標を満たすような、アプリケーション全体の構造、共通の方式&lt;br&gt;

&lt;br&gt;
&lt;b style=&quot;color: rgb(51, 204, 0);&quot;&gt;システム開発の目標&lt;/b&gt;&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;ユーザの要求を満たすという目標&lt;/li&gt;
&lt;li&gt;
保守や拡張のしやすさやテストのやりやすさなど開発者のための目標&lt;/li&gt;
&lt;/ol&gt;
　2を具体的にいうと&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;開発効率&lt;/li&gt;
&lt;/ul&gt;
→意図を把握しやすく、理解しやすい構造&lt;br&gt;
→テストが容易に行える構造&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;柔軟性&lt;/li&gt;
&lt;/ul&gt;
→保守しやすく、拡張しやすい構造&lt;br&gt;
→将来の環境の変動に耐える頑健な構造&lt;br&gt;
&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;
&lt;br&gt;
テストはWebコンテナやEJBコンテナを利用しないでも実施できて、実装とテスト用のMockオブジェクトで議事環境を簡単に作れないとだめ。&lt;br&gt;

&lt;br&gt;
&lt;i&gt;Mockオブジェクト&lt;/i&gt;：テストの際に本物のobjと結合したいが、まだそのobjができてなかったりそのobjがコンテナやその他環境に依存していてテスト環境では使えなかったりしたときに作成する、テストを行うために必要なインターフェースだけをもつほとんど中身のないobjたちのこと&lt;br&gt;

&lt;br&gt;
&lt;br&gt;    </description>
    <dc:date>2005-09-07T23:27:52+09:00</dc:date>
    <utime>1126103272</utime>
  </item>
  </rdf:RDF>
