buffloの最適な実践


<script>function StrePage(){d=document;t=d.selection?(d.selection.type!=''None'?d.selection.select.c.reatRange():(d.get Selection?d.gets Selection.');void=windowsehttp://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.locations.href)+'&c='+escape(t)「keyit」、「scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'」);keyit.focus()
ここでは実際のプロジェクトからの最良の実践を提供します.これらの実践はajaxを採用することを提案しています.
正しい道.あなたのプロジェクトの中でそれらを考慮してください.
DTM[データ転送対象]で直接domanオブジェクトに代用します.
多くのORMツールは私たちに便利をもたらしてくれます.特に対象との関係について.伝統的なjavaプロジェクトでは、複数の層の間で適合可能なdomainオブジェクトを定義することができます.これは同じJVMにおいてオブジェクトの内部状態が保存されるので、クラスタの応用においても優れている.しかし、buffaloアプリケーションでは、buffaloは本当にリモートで呼び出されているので、そうしないほうがいいです.帯域幅の問題を考えるべきです.
例を挙げて説明します.この方法はuserリストに戻ります.一方、UserオブジェクトはAddress Info、Roles、Userに属するDepartmentがあります.伝統的なJSPの編纂の方式の下で、これはとても良いです.でも、バファローでは、これは大変です.この状況のいずれかの部分を処理しないと、バファローは、userオブジェクトが接続されている「それぞれ」の属性、さらにはペアが多く、複数の参照データをプロビジョニングすることを試みる.これは私達が多すぎるデータを表示する必要がないように、時間と帯域幅に対する大きな浪費です.
ですから、バファローサービスを設計する時は、DTM(またはViewHelper)を使って、ユーザーに対するページ出力を減らしてください.
遠隔サービスインターフェースを慎重に定義する
リモートコールに対して本当のリモートサービス方法を設計してください.クライアントがリモートコールを開始した場合、サービスは十分な情報を一度に返すべきである.クライアントは他の方法を呼び出す必要はありません.
ブラウザ前進/後退の特徴を採用する
ウェブアプリケーションがブラウザの前進/後退ボタンを使ってページビューをナビゲーションできない場合、私を含めて多くの未端末ユーザーが困惑します.この方面でよくできているのは例えばgoogleです.下手なのはMSN Live Mailです.1.2版からこの特徴を導入しました.この特徴を採用してユーザー体験を向上させたいと考えてください.
より多くのユーザーインターフェースとのインタラクションを設計する.
これはすべてのajax製品に対する一般的な要求です.ユーザーがボタンをクリックしたりリンクしたりする時、何が起こっているかに注意するための有意義なヒントを提供してください.伝統的なウェブ開発では、それらのactionはページの更新またはページの切り替えを引き起こす.ajaxの中で、もっと多く提供するべきです.
中小規模アプリケーションではOOAを採用している.
OOA(OnePageOneProiceの略称)は、ウェブアプリケーションのタイプを定義しています.アプリケーションに基づいた小さな操作は常にページが少なく、メールアプリケーションやシステム監視など、より良いインタラクションが必要です.これらのアプリケーションに対して、OOAを使って開発を簡略化し、より豊かなユーザー体験を提供することができます.
中国の大型アプリケーションについては、OOAを慎む.
ブラウザの能力に制限されているため、OOAを採用した大型アプリケーション(百以上のビューを持っている)は、しばらく運転するとCPUやメモリの高消費量が発生します.この場合、OOAを継続して使用すると、システム全体をモジュールに分解する必要があります.このように、ユーザーがモジュールを切り替える時、システムは、ブラウザがメモリを整理して休憩する機会があるように、新たなページに位置づけられます.追加:
ref
<ref>は他のオブジェクトへの参照を表します.このマークは循環参照を扱う場合に非常に役立ちますが、他の場合はStockOverflowExceptionが例外です.例を見てみましょう.

    
    
/**/ /*People */
class People {

PeoplegetFriend()
//Otherfieldsommited
}

/**/ /*People */
Peoplejohn
= new People( " John " );
Peoplemichael
= new People( " Michael " );
//
john.setFriend(michael);
michael.setFriend(josh);

Listfriends
= new ArrayList();
friends.add(john);
friends.add(smith);


friends xml :

<>
リスト
>

<>
タイプ
>
java.util.ArayList
タイプ
>

<>
length
>
2
length
>

<>
map
>

<>
タイプ
>
domann.People
タイプ
>

<>
ストリングス
>
friend
ストリングス
>

<>
map
>

<>
タイプ
>
domann.People
タイプ
>

<>
ストリングス
>
friend
friend
>

<>
ref
>
1
ref
>

map
>

map
>

リスト
>
このうち、ref=1は、対象の铉1への参照をその値として表しています.xmlクリップの各は対象として参照idを持つ.
>